插件构建
通过@discuzq/cli
输出化的项目,都会配有以下几个命令:
- watch
- server
- build
- publish
watch(监听模式)
通过监听本地文件变化,自动重新编译代码,并输出到文件夹中。
server(服务编译)
与watch不同,监听变化及编译的内容只存在于内存中,并不会输出到文件目录。
build
打包构建与生产环境,基于src中的目录规范,进行构建压缩代码,输出生产环境的插件代码。
publish
发布插件,基于build做了扩展,会将build命令输出的产物进行压缩,生产一个zip包,用于上传到管理系统中上传插件使用。
构建规则
插件的构建能力是通过@discuzq/cli
提供的,构建时获取当前插件有以下的规则:
- 插件根目录下需要有config.json文件
- 基于config.json文件中的view字段,循环查找插件名称并且在src目录下存在相应的文件
- 构建后输出到src同等目录下的dist目录,并且保持和src的目录结构一致
输出后每个插件只保留1个js文件和1个css文件,如果需要使用图片等,需要自行转为base64格式嵌入到代码中,不支持图片引入编译。
注意事项
构建产物以umd
标准进行构建,代码运行后,将会在window作用域下的DZQPlugin对象中存储,其名称为view下的key。