一个引擎渲染自定义物料的疑问
736473283 opened this issue · comments
baiyidujiang commented
1.我现在自己魔改了ant design的组件,打包后,使用了自己打包的assets.json物料,但是在物料渲染的时候,assets.json必须加上下方这个组件
{
"title": "fusion组件库",
"package": "@alifd/next",
"version": "1.26.4",
"urls": [
"https://g.alicdn.com/code/lib/alifd__next/1.26.4/next.min.css",
"https://g.alicdn.com/code/lib/alifd__next/1.26.4/next-with-locales.min.js"
],
"library": "Next"
}
2.如果不加上上述的组件,就会抛出如下异常:
Uncaught TypeError: Cannot read properties of undefined (reading 'Menu')
at e (universalModuleDefinition:9:69)
at universalModuleDefinition:1:1
3.我想知道的是,这个组件在自定义的物料的时候,起到的作用是什么?如果这个组件是必须的,有没有办法在其他地方引入。
4.可用的资产assets.json文件如下
{
"packages": [
{
"package": "moment",
"version": "2.24.0",
"urls": ["https://g.alicdn.com/mylib/moment/2.24.0/min/moment.min.js"],
"library": "moment"
},
{
"package": "lodash",
"library": "_",
"urls": ["https://g.alicdn.com/platform/c/lodash/4.6.1/lodash.min.js"]
},
{
"package": "iconfont-icons",
"urls": "//at.alicdn.com/t/font_2369445_ukrtsovd92r.js"
},
{
"package": "@ant-design/icons",
"version": "4.7.0",
"urls": ["//g.alicdn.com/code/npm/@ali/ant-design-icons-cdn/4.5.0/index.umd.min.js"],
"library": "icons"
},
{
"package": "antd",
"version": "4.19.5",
"urls": [
"//g.alicdn.com/code/lib/antd/4.23.0/antd.min.js",
"//g.alicdn.com/code/lib/antd/4.23.0/antd.min.css"
],
"library": "antd"
},
{
"title": "fusion组件库",
"package": "@alifd/next",
"version": "1.26.4",
"urls": [
"https://g.alicdn.com/code/lib/alifd__next/1.26.4/next.min.css",
"https://g.alicdn.com/code/lib/alifd__next/1.26.4/next-with-locales.min.js"
],
"library": "Next"
},
{
"package": "@alilc/antd-lowcode-materials",
"version": "1.2.1",
"library": "AntdLowcode",
"urls": [
"https://alifd.alicdn.com/npm/@alilc/antd-lowcode-materials@1.2.1/build/lowcode/view.js",
"https://alifd.alicdn.com/npm/@alilc/antd-lowcode-materials@1.2.1/build/lowcode/view.css"
],
"editUrls": [
"https://alifd.alicdn.com/npm/@alilc/antd-lowcode-materials@1.2.1/build/lowcode/view.js",
"https://alifd.alicdn.com/npm/@alilc/antd-lowcode-materials@1.2.1/build/lowcode/view.css"
]
}
],
"components": [
{
"exportName": "AlilcAntdLowcodeMaterialsMeta",
"npm": {
"package": "@alilc/antd-lowcode-materials",
"version": "1.2.1"
},
"url": "https://alifd.alicdn.com/npm/@alilc/antd-lowcode-materials@1.2.1/build/lowcode/meta.js",
"urls": {
"default": "https://alifd.alicdn.com/npm/@alilc/antd-lowcode-materials@1.2.1/build/lowcode/meta.js"
}
}
],
"sort": {
"groupList": ["精选组件", "原子组件"],
"categoryList": ["通用", "导航", "信息输入", "信息展示", "信息反馈"]
},
"groupList": ["精选组件", "原子组件"],
"ignoreComponents": {}
}
Environments:
- AliLowCodeEngine version: 1.1.2
- AliLowCodeEngineExt version: 1.0.0
- Browser: chrome 124.0.6367.61
唐澜 commented
@736473283 原先的渲染器在实现的时候依赖了 next, 可以作为 external 引入
baiyidujiang commented
@1ncounter 指的是在build.json中的 external 么?我这里已经有引入了。
baiyidujiang commented
已解决,在自定义的资产项目中,build.lowcode.js文件下的builtinAssets配置项,添加Next的相关配置
builtinAssets: [
{
packages: [
// ...省略其他配置
{
"title": "fusion组件库",
"package": "@alifd/next",
"version": "1.26.4",
"urls": [
"https://g.alicdn.com/code/lib/alifd__next/1.26.4/next.min.css",
"https://g.alicdn.com/code/lib/alifd__next/1.26.4/next-with-locales.min.js"
],
"library": "Next"
},
],
components: [],
},
]