# 开发环境

# Typescript

小游戏默认推荐使用 Typescript 开发,从而可以使用小游戏框架接口的代码提示。同时也支持 javascript 开发,但是一些能力不容易实现,比如开发中会经常用到的装饰器,类型检查等,适合用于一些外部库的导入。

# 编译与打包

工具内部内置了4.1.3版本的 Typescript 编译器。开发者可以无需自行安装编译器,直接在 Project 窗口创建代码文件即可开发。对于 javascript 代码暂时不支持内置编译模块,如果开发者需要使用需要自行编译。在开发阶段,工具会按照加载速度最快的方式注入代码,同时在编辑态会保证代码的热更新。在上传代码之前也支持压缩混淆的代码,保证包体积的最小化。

# 代码编辑器

开发者可以使用工具内置的代码编辑器,也可以使用自己安装的代码编辑器。无论哪种,工具都会实时监听到文件修改。

# npm包

小程序目前不支持直接引入 node_modules , 开发者需要使用到 node_modules 时候建议拷贝出相关的代码到小程序的目录中,或者使用小程序支持的 npm 功能(npm install后,使用工具“构建npm”进行编译即可)。

# 使用小游戏框架能力

开发者的代码可以通过全局变量 engine 去获取小游戏框架的接口。但是直接获取没有办法利用代码提示,开发者可以用过 import engine from "engine" 的 写法去获取,通过这种方法编辑器就可以利用工具注入的node_modules/@types/engine里面的index.d.ts,进行代码提示。新建项目中默认的node_modules/engine/miniprogram_dist/index.js其实并非一个真实的 npm 包,而是直接返回了全局注入的框架能力,如果npm install的话会报错。升级版本的时候工具会自动更新对应的index.d.ts。