语言支持
Cocos Creator 支持 TypeScript 4.1.0。在此基础上,做了以下限制:
不会被读取。每个项目都隐含着如下选项:
隐含的
isolatedModules
选项意味着:不支持 const enums。
重导出 TypeScript 类型和接口时应该使用
export type
。例如使用export type { Foo } from './foo';
而不是export { Foo } from './foo';
。
不支持
export =
和import =
。同一命名空间的不同声明不会共享作用域,需要显式使用限定符。
编译过程中的类型错误将被忽略。
编译时不会读取 tsconfig.json
,意味着 tsconfig.json
的编译选项并不会影响编译。
开发者仍然可以在项目中使用 tsconfig.json
以配合 IDE 实现类型检查等功能。为了让 IDE 的 TypeScript 检查功能和 Creator 行为兼容,开发者需要额外注意一些事项,详情可参考 。
JavaScript
Creator 支持的 JavaScript 语言规范为 ES6。
此外,以下几项更新于 ES6 规范的语言特性或提案仍旧在支持之列:
特别地,Creator 目前支持 Legacy 装饰器提案,其具体用法和含义请参考 。由于该 提案 仍处于阶段 2,引擎暴露的所有装饰器相关功能接口都在以下划线开头的 _decorator
命名空间下。
Creator 开放了部分编译选项,这些选项将应用到整个项目。
从用户的角度来说,Creator 未绑定任何 JavaScript 实现,因此建议开发者严格依照 JavaScript 规范编写脚本,以获取更好的跨平台支持。
举例来说,当希望使用 全局对象 时,应当使用标准特性 globalThis
:
而非 window
、global
、self
或 this
:
再如,Creator 未提供 CommonJS 的模块系统,因此以下代码片段会带来问题: