运行环境

Cocos Creator 3.0 引擎的 API 都存在模块 cc 中,使用标准的 ES6 模块导入语法将其导入:

  1. import {
  2. Component, // 导入类 Component
  3. _decorator, // 导入命名空间 _decorator
  4. Vec3 // 导入类 Vec3
  5. } from 'cc';
  6. import * as modules from 'cc'; // 将整个 Cocos Creator 模块导入为命名空间 Cocos Creator
  7. @_decorator.ccclass("MyComponent")
  8. export class MyComponent extends Component {
  9. public v = new Vec3();
  10. }

保留标识符 cc

注意,由于历史原因,cc 是 Cocos Creator 3.0 保留使用的标识符,其行为 相当于 在任何模块顶部定义了名为 cc 的对象。因此,开发者不应该将 cc 用作任何 全局对象 的名称:

  1. /* const cc = {}; // 每个 Cocos Creator 脚本都等价于在此处含有隐式定义 */
  2. import * as modules from 'cc'; // 错误:命名空间导入名称 cc 由 Cocos Creator 保留使用
  3. const cc = {
  4. x: 0
  5. };
  6. console.log(cc.x); // 错误:全局对象名称 cc 由 Cocos Creator 保留使用
  7. function f () {
  8. const cc = {
  9. x: 0
  10. };
  11. console.log(cc.x); // 正确:cc 可以用作局部对象的名称
  12. const o = {
  13. cc: 0
  14. };
  15. console.log(o.cc); // 正确:cc 可以用作属性名
  16. }
  17. console.log(cc, typeof cc); // 错误:行为是未定义的