Laya2.0 Layaair2-Cmd VSCode高效开发工作流配置踩坑指南

为了提升开发效率,通常我们都是想写完代码就编译。现如今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:自由 细节可控

你可能感兴趣的:(Laya)