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