摘要
CocosCreator 已经拥抱 ES6 语法,你还在使用 ES5 吗?今天 KUOKUO 为你带来导出模块的各种姿势!
正文
原写法
模块化使你可以在 CocosCreator 中引用其它脚本文件:
- 访问其它文件导出的参数
- 调用其它文件导出的方法
- 使用其它文件导出的类型
那么一般的写法是
var data = { name: 'kuokuo', age: 21, sayHello: function () { console.log('Hello'); } }
module.exports = data;
|
导入
var data = require('data'); cc.Class({ extends: cc.Component,
properties: { },
onLoad () { console.log(data.name, data.age); data.sayHello(); },
});
|
ES6 写法
上述写法换成 ES6 的即为
let data = { name: 'kuokuo', age: 21, sayHello: function () { console.log('Hello'); } }
export default data;
|
导入
import data from "./data"; cc.Class({ extends: cc.Component,
properties: { },
onLoad () { console.log(data.name, data.age); data.sayHello(); },
});
|
而且有了 import 后,代码提示就会出来,极大的提高了开发效率。
各种姿势
姿势一
exports.num = 1;
exports.add = (a, b) => { return a + b; }
exports.dog = class { constructor () { console.log('new'); } }
|
导入
import { num, add, dog } from "./data";
cc.Class({ extends: cc.Component,
properties: { },
onLoad () { console.log(num); console.log(add(1, 2)); let k = new dog(); },
});
|
姿势二
export let num = 1;
export let add1 = (a, b) => { return a + b; }
function add2 (a, b) { return a + b; } export { add2 };
export class dog { constructor () { console.log('new'); } }
|
导入
import { num, add1, add2, dog } from "./data";
cc.Class({ extends: cc.Component,
properties: { },
onLoad () { console.log(num); console.log(add1(1, 1)); console.log(add2(1, 2)); let k = new dog(); },
});
|
姿势三
为模块重命名
export function aFunc (a, b) { return a + b; }
|
as 关键字
import { aFunc as add } from "./data"; cc.Class({ extends: cc.Component,
properties: { },
onLoad () { console.log(add(1, 1)); },
});
|
姿势四
export 与 import 的复合写法
export class dog {
constructor () { console.log('dog 初始化'); }
sayHello () { console.log('Hello!'); }
}
|
export function aFunc (a, b) { return a + b; }
export { dog } from "./dog";
|
这样只需要导入 data 一个模块
import { aFunc as add , dog} from "./data"; cc.Class({ extends: cc.Component,
properties: { },
onLoad () { console.log(add(1, 1)); let k = new dog(); k.sayHello(); },
});
|
结语
小伙伴们掌握了吗?
O(∩_∩)O~~
微信公众号
