使用AstroZero开发高级页面时如何引用第三方库
期望实现效果
在自定义高级页面组件开发过程中,AstroZero支持开发者直接引用第三方库,在降低组件开发复杂度的同时,丰富了组件的功能。库是支撑高级页面组件运行的第三方依赖,如果缺少相应的库,则高级页面组件不能正常运行。AstroZero提供了一些系统预置库,可在高级页面组件中直接引用或在页面设置中直接进行加载并使用。当系统预置的库无法满足需求时,可以上传自定义库,并加载到页面中使用。以某组件中需要使用Vue(系统预置库)以及MintUI(自定义库)为例,介绍如何上传自定义库,并在组件中使用库,最终实现效果如图1所示。
功能实现方法
- 将自定义库的相关文件打成Zip包。
例如,在MintUI官网下载组件库的代码,增加一个packageinfo.json元数据描述文件,在该文件中列出Library包含的js和css文件名,并打成Zip包,如图2。您也可以单击链接,获取该包。
packageinfo.json中必选要包含待引入的文件。例如,MintUI库需要引入文件“js/index.js”和“css/index.css”,请在packageinfo.json中添加这两个文件的描述。其中,“js”和“css”用于定义文件类型,“name”用于定义文件路径及名称。
{ "js": [ { "name": "js/index" } ], "css": [ { "name": "css/index" } ] }
- 上传自定义库。
- 进入AstroZero服务控制台。
- 在主页中,单击“进入首页”,进入AstroZero应用开发页面。
- 单击,选择 ,进入环境配置。
- 在主菜单中,选择“维护”。
- 在左侧导航栏中,选择“全局元素 > 页面资产管理 > 库”。
- 单击“提交新库”,进入提交新库页面。
- 设置库的基本信息,上传1中的zip包后,单击“提交”。
图3 上传库
表1 新建MintUI库参数说明 参数
说明
示例
名字
新建库的名称。
取值范围:1~80个字符。
MintUI
上传源文件
选择自定义库的压缩包。
选择1中的库
库ID
上传库的ID,由字母及数字组成,且必须以字母开头。
MintUI
发行说明
自定义库的描述信息,按需进行设置。
自定义库
- 在高级页面组件中,引用库。
以自定义组件(widget_demo_mintui)为例,在该组件引用第三方库。
- 在组件包的“packageinfo.json”文件中,增加requires节点,指定需要依赖库的库ID和版本号。
其中,“name”为库ID、“version”为库版本号数字部分。
例如,增加如下requires节点,库文件名称和版本号在库详情页面获取。"requires": [ { "name": "global_Vue", "version": "100.7" }, { "name": "t0000000000fcsfrfcaks_MintUI", "version": "1.0.0" } ]
在“requires”里增加库文件时,需要注意某些库文件之间有依赖关系,增加库文件需要有先后顺序,例如“global_VueI18n”是基于“global_Vue”的,需要写在“global_Vue”之后。
- 在高级页面组件包的widget_demo_mintui.ftl中,写一个简单的表单DOM。
<div id="widget_demo_mintui"> <mt-field label="username" placeholder="Input username" v-model="username"></mt-field> <mt-field label="email" placeholder="Input email" type="email" v-model="email"></mt-field> <mt-field label="password" placeholder="Input password" type="password" v-modal="password"></mt-field> <mt-button type="primary" @click="submit">Register</mt-button> </div>
- 在高级页面组件包的widget_demo_mintui.js/render方法中,新增Vue实例。
Vue.use(MINT); var vm = new Vue({ el: $("#widget_demo_mintui", elem)[0], data:{ username: "", email: "", password: "" }, methods:{ submit: function(){ console.log(this.username + " registers"); } } })
- 将修改后的内容,重新打包,您也可以单击widget_demo_mintui.zip,获取该组件包。
- 在组件包的“packageinfo.json”文件中,增加requires节点,指定需要依赖库的库ID和版本号。
- 返回环境配置,选择“维护 > 全局元素 > 页面资产管理 > 组件”,单击“提交新组件”,将自定义组件包上传至组件库。
图4 上传组件
表2 上传自定义组件参数说明 参数
说明
示例
名字
新提交组件的名称,系统会根据组件包名称自动填充。
widgetdemomintui
上传源文件
组件源文件包。
选择3.d中的widget_demo_mintui.zip
场景
组件包的应用场景,可同时选择多个。
高级页面
发行说明
组件的描述信息,按需进行设置。此处配置的信息,将会在组件详情页的“概况”页签中进行显示。
自定义组件
- 关闭Vue3框架渲染组件开关。
本实践所涉及到的自定义组件是基于Vue2框架开发的,而系统是默认开启Vue3框架渲染组件的,所以您需要手动关掉Vue3框架渲染组件开关,否则拖拽组件到页面时会提示如下报错。图5 界面报错
- 在应用设计器中,单击左侧导航栏中的“设置”。
- 在“高级设置”中,取消勾选“页面组件的渲染框架由Vue2升级为Vue3”开关。
图6 取消选中
- 在应用设计器中,选择“界面”,单击高级页面后的“+”,新建一个高级页面。
- 单击,从“全部 > 自定义”中拖拽widget_demo_mintui组件到右侧画布中。
图7 拖拽组件到画布中
- 单击页面上方的,保存高级页面后,单击,发布高级页面。
- 单击,进入预览页面,查看效果是否符合预期。