plugin_template
基于CocosCreator2.x和egf-cli的插件开发模板
简介
Cocos Creator的插件体系非常强大,可以让开发者开发出各种强大高效的插件来辅助游戏开发,但由于2.x插件体系本身不完全支持ts,还有各种玄学,导致插件开发的门槛有点高。
我刚接触插件开发,就觉得这样开发非常麻烦,就想有没有完善一点的方案,让我如丝般顺滑地开发插件。到处查了一下,也只查到了一个不成熟的方案,以及一些规避方法,用起来还是很麻烦。
所以我决定自己整了这一套方案。它可以让你像在写Cocos Creator
脚本一样,引用脚本和npm不用关心路径转换什么的,就只管写,调试就完事了。
框架的egf-cli工具制作了这个模板
3.0的插件体系更加强大了,这个模板可以让2.x插件和3.0插件之间的差异大大减小
帮助大家更快、更高效、更方便地开发插件,上架Cocos商店,赚Q
特性
-
完全支持ts开发(渲染进程可以
import
相对路径ts
,不用而外使用接口进行路径转换)(针对2.x)
-
监听自动编译
-
支持
import
单独的css
和html
文件 -
主进程和渲染进程,以及多个渲染进程之间共用代码
(针对2.x)
-
支持将
npm
模块,打包输出js
,发布后的插件就不用npm install
了 -
支持渲染进程引用插件安装的
npm
包(针对2.x)
引擎2.x插件项目目录结构
-- dist 编译输出目录
-- editor-api-dts 编辑器接口声明文件
-- node_modules npm模块安装目录
-- src typescript源码目录
-- main 主进程代码
-- renderer 渲染进程代码
-- common 共用代码
-- egf-plugin-cccsshtml.js 编译插件,用于import css 和 html文件
-- egf.compile.js 编译配置文件
如果有增加或者修改面板入口ts文件(改名也属于),则需要修改option.entry里的编译入口路径
-- fixrequire.js 引用纠正重写逻辑
引擎3.0插件项目目录结构
-- dist 编译输出目录
-- editor-api-dts 编辑器接口声明文件
-- node_modules npm模块安装目录
-- src typescript源码目录
-- main 主进程代码
-- renderer 渲染进程代码
-- common 共用代码
-- egf-plugin-cccsshtml.js 编译插件,用于import css 和 html文件
-- egf.compile.js 编译配置文件
如果有增加或者修改面板入口ts文件(改名也属于),则需要修改option.entry里的编译入口路径
使用
-
下载插件
-
用一个编辑器打开插件工程
-
npm install
或yarn install
开发
-
启动自动编译
npm dev 或 yarn dev
-
开始写代码
-
正常的引用相对路径的脚本
-
正常引用npm包
-
还可以引用
html
和css
-
一切都让编译给你处理好了
如丝般顺滑
构建发布
构建脚本解释
"scripts": {
"build": "egf build -f cjs -m -ngd -c"
},
-f
指定模块规范,插件的脚本模块规范为commonjs
-m
压缩js
-c
指定编译配置文件,默认egf.compile.js
-ngd
不输出声明文件
构建命令
npm build 或 yarn build
注意事项!!!!!!!
构建工具默认将插件逻辑里用到的npm包输出到dist下了,所以打包时,只需压缩dist文件夹以及包含必要的文件,忽略整个node_modules
如果在编译配置里忽略了npm包的输出,比如
const option = {
...
externalTag:["@ailhc"],
}
则npm包的代码就不会输出到dist下,需要你在打包发布时把node_modules带上,或者要求使用插件者npm install一下
如果发布插件需要包含 node_modules
则需要先手动移除构建工具哦,避免把编译工具打包进去
可以先删除package.json的devDependencies,然后执行(清除构建工具依赖)
npm install 或 yarn install
然后再撤销package.json的devDependencies
后续计划
- 自动化发布插件支持
使用视频
加群交流反馈
QQ群:1103157878
关注作者获取更多内容
微信搜索公众号:玩转游戏开发
或扫码关注: