CocosCreator之module.exports和exprot使用比较

本文对比了CocosCreator中module.exports和export两种模块导出方式的使用。对于module.exports,无论是单个还是多个属性导出,require导入时无需指定完整路径,而export则需要导入对象的相对路径。同时,无论单个还是多个属性,import时变量名可自由设定,但导出和导入的命名需要保持一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

module.exports—require

单文件单个属性导出

导出声明,TestDefine.js

module.exports = cc.Enum({
    GameMenu: "GameMenu",
    GameMain: "GameMain",
    GameChoose: "GameChoose",
})
var SceneName= cc.Enum({
    GameMenu: "GameMenu",
    GameMain: "GameMain",
    GameChoose: "GameChoose",
})
module.exports=SceneName

导入使用Test.js

var SceneName = require("TestDefine");
cc.log("SceneName.....", SceneName.GameMenu );

单文件多个属性导出

导出声明,TestDefine.js

module.exports.SceneName= cc.Enum({
    GameMenu: "GameMenu",
    GameMain: "GameMain",
    GameChoose: "GameChoose",
})
module.exports.BuildType= cc.Enum({
    Test: 1,
    Release: 2,
})
var SceneName= cc.Enum({
    GameMenu: "GameMenu",
    GameMain: "GameMain",
    GameChoose: "GameChoose",
})
var BuildType= cc.Enum({
    Test: 1,
    Release: 2,
})
module.exports.SceneName=SceneName
module.exports.BuildType=BuildType
var SceneName= cc.Enum({
    GameMenu: "GameMenu",
    GameMain: "GameMain",
    GameChoose: "GameChoose",
})
var BuildType= cc.Enum({
    Test: 1,
    Release: 2,
})
module.exports={SceneName,BuildType}

导入使用Test.js

var {SceneName,BuildType} = require("TestDefine");
cc.log("SceneName.....", SceneName.GameMenu );

Ps:require不需要指定文件路径,只要填入文件名即可,单个导入使用时,承载的变量名可随意;多个导入使用时,{}里的名字需要和导出时的名字一致

 

exprots—import

单文件单个属性导出

导出声明,TestDefine.js

export default  cc.Enum({
    GameMenu: "GameMenu",
    GameMain: "GameMain",
    GameChoose: "GameChoose",
})
var sceneName = cc.Enum({
    GameMenu: "GameMenu",
    GameMain: "GameMain",
    GameChoose: "GameChoose",
})
export default sceneName

导入使用Test.js

import sceneName from "./data/Test/TestDefine";
cc.log("SceneName.....", SceneName.GameMenu );

单文件多个属性导出

导出声明,TestDefine.js

export var sceneName = cc.Enum({
    GameMenu: "GameMenu",
    GameMain: "GameMain",
    GameChoose: "GameChoose",
})
export var BuildType=cc.Enum({
    Test: 1,
    Release: 2,

})
var sceneName = cc.Enum({
    GameMenu: "GameMenu",
    GameMain: "GameMain",
    GameChoose: "GameChoose",
})
 var BuildType=cc.Enum({
    Test: 1,
    Release: 2,
})
export {sceneName,BuildType}

导入使用Test.js

import {sceneName,BuildType} from "./data/Test/TestDefine";
cc.log("SceneName.....", SceneName.GameMenu );

Ps:import需要被导入对象的相对路径,单个导入使用时,承载的变量名可随意;多个导入使用时,{}里的名字需要和导出时的名字一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值