为了提升开发效率,通常我们都是想写完代码就编译。现如今Laya也可以在Vs Code中编写代码了,使我们能够享受到最新的VS CODE特性,也能够自定义自己喜欢的VS CODE风格,这个是很爽的。
麒麟子是这样搭配开发环境的。
1、UI工具:FairyGUI
2、3D编辑器:U3D
3、代码编写工具:Visual Studio Code
4、LayaIDE: Laya IDE最新稳定版
由于我编辑的UI和3D场景都是在LAYA IDE环境外,日常开发中,再打开LAYA IDE就是一个累赘,试想,写完代码还要切换到LAYA IDE按一下F8,是一个什么样的感受?
并且,我们的工程是 大厅一个工程,各子游戏一个工程,为了减少人为出错,我们写了一套自动化打包工具。能够将各个工程发布的东西输出到指定目录,并做version.json生成。如果LAYA不使用命令行,那自动化发版相当于只做了一半。还是很累的。 好在LAYA 2官方支持了这个功能。(其实LAYA 1也有这个,只是官方文档中未提及,所以不敢乱用)。
Laya 2.0的文档详细介绍了这一过程https://ldc2.layabox.com/doc/?nav=zh-ts-3-0-9
我安装的时候遇上了以下问题。
1、pngcompress-bin库安装不上
解决办法:
但安装的时候,一定要用 PowerShell执行相关命令,特别是WIN7。否则很多库安装不上。
2、pngquant库安装不上
安装的时候,如果出现了 pngquant pre-build test failed.
前往这篇文章解决:https://qilinzi.blog.csdn.net/article/details/103975232
3、guetzli pre-build test failed
这是最后一个库,一直卡在 i compling from source这里。我移除了就好了。
4、执行layaair2-cmd compile的时候,提示 Can't not find module 'gulp'
解决办法:下载最新的稳定版IDE(麒麟子写这篇文章的时候,最新稳定版是 2.4),然后新建一个项目,将.laya目录下的所有js文件复制过来即可。
5、Incompatible tsconfig option. Module resolves to 'CommonJS'. This is incompatible with rollup, please use 'module: "ES2015"' or 'module: "ESNext"'.
解决办法:这是旧版本项目引起的,将tsconfig.json的module从CommonJS换成es6即可。替换后的tsconfig.json如下
{
"compilerOptions": {
"module": "CommonJS",
"target": "es6",
"noEmitHelpers": true,
"sourceMap": false
},
"exclude": [
"node_modules"
]
}
6、添加编译快捷键后,每次都要选择task和output
解决办法:将task设置为默认的build即可。 tasks.json配置最终版本如下:
{
"version": "2.0.0",
"tasks": [
{
"label": "compile",
"type": "shell",
"command": "layaair2-cmd compile",
"group":{
"kind": "build",
"isDefault": true
}
}
]
}
LAYA官方文档配合西方配置完成后,就可以 CTRL + SHIFT + B编译, F5启动调试了。
写这文章的目的,只为了说明三个事情。
1、Laya 2.0支持命令行编译了
2、npm i layaair2-cmd -g要用 PowerShell 执行。
3、麒麟子也在用LAYA。
LAYA社区做得确实不如COCOS好,但由于LAYA的编辑器做得很烂,和代码是分离的,使得这个引擎用起来有一种自由的感觉。
如果要让我给COCOS CREATOR和LAYA引擎总结一下。我觉得是
Cocos Creator:易单,易用
Laya:自由 细节可控