开发插件前先了解插件的基本情况。
插件是对功能的封装,非常适合在多个页面,多个应用,甚至不同的开发者之间共享和升级。
插件是由JavaScript/ReactJS和CSS编写的。当业务逻辑太复杂而直接使用众触表达式难以表达业务时推荐使用插件来开发。插件代码中也能使用众触表达式,使用插件具有代码的灵活性和众触表达式的便利性。当然也对开发者的编程能力提出了要求。
当插件封装的功能具有普适性时推荐开放到插件市场以帮助其他也需要此类功能的开发者,同时也可以考虑带来一些经济上和名誉上的回报。当人们发现你开发了好用的插件时自然更乐意找你作为ISV来给他们提供商务服务。上传到插件市场的插件是已经通过压缩混淆的代码,可以一定程度上保护你源码的知识产权。
插件是运行在某个应用中的,具有唯一ID,所以先在应用中心选定你开发插件是要用的应用环境,在该应用的插件管理页”我开发的”右上方点击”申请新插件”,输入插件的名称,然后一个空插件就安装到了该应用中。在编辑器的某个页面中使用该插件,打开该插件在属性面板本地调试
的开关,并且在浏览器地址栏中把当前页的URL尾部加上?zplugin=dev
参数并回车刷新页面,当前页面就变成了本地插件的开发环境了, 因为页面上的插件不再从http://z.zccdn.cn/plugin/…
上加载,而是从你本地服务器加载http://localhost:8080/build/{插件ID}.js
。当然此时这个js是加载不了的,因为还得搭建本地开发环境
安装Node.js,下载插件开发模板(github,gitee)到C盘,解压。打开命令行cd到该目录,执行npm install
,它会下载一些依赖代码到node_modules
里。
打开webpack.config.js
文件,把模板中的测试插件IDzp999
改成你上面申请到的插件ID,双击start.bat
将会启动node服务器。看到Express server started: http://localhost:8080
服务器就起来了。刷新页面你将看到测试插件展示在页面中。
plugins
文件夹存放的是插件代码,js文件名可以任意更改,只是要注意webpack.config.js
里entry
里指向的js文件名要跟你更改后的js文件名相匹配。
参考插件编码
双击start.bat
就会启动node服务器。开发过程中一保存代码就会自动再次编译代码。
如果没有编译错误刷新页面就可以加载最新的代码进行调试。可以使用log
、warn
、err
、debug
(都可以不需要console.
打头)来打印变量,也可以用开发者工具devtools
来断点调试。
插件测试OK以后就可以双击build.bat来编译/混淆/压缩源代码以打包成构建包。工程底下的所有插件源码都会打包到build文件夹里。
回到应用中心/插件/“我开发的”栏目中,点击发布
,在弹出框中填写插件名称
/版本
/价格
/简介
。简介内容可以在插件市场中作为关键字被搜索到。
上传前面生成的构建包,选择是否公开发布
。
选择是否需要更改数据库
/数据需要流出众触
,选择这两项特殊权限需要诚实。勾选后在插件市场会提示用户风险。每天平台都会扫描最新上传的插件并定期人工抽查,如果发现插件用到了此权限但开发者没有勾选则会警告乃至下架该插件,严重者会禁止该开发者发布任何插件并下降他/她名下的所有插件。
如果是公开发布的插件,你可以在插件市场中找到你开发的插件,点击右上角的“编辑”按钮,这里你可以编写文档以帮助用户了解、评估、学习使用插件。