【发布时间】:2020-11-07 23:13:40
【问题描述】:
我想在 JS 中实现模块模式。我在谷歌上关注了一些帖子并开始编写自己的帖子。 这是我想要达到的目标
mns - will be the name space for my lib
math - will be one of the sub-module in mns
我希望所有这些模块都在单独的文件中。
这里是 mns.js 文件代码(仅用于命名空间,没有函数)
var mns = (function () {
return {};
})();
这里是 math.js 代码(我想把它作为 mns 的子模块)
var submodule = (function (mns) {
var math = (function(){
var counter = 0;
var incrementCounter = function () {
return counter++;
}
var resetCounter = function () {
alert( "counter value prior to reset: " + counter );
counter = 0;
}
})();
mns.math = math;
return mns;
})(mns || {});
我希望 application.js 会像下面这样调用
mns.math.incrementCounter();
mns.math.resetCounter();
现在,我在调用 incrementCounter 和 resetCounter 时收到 Cannot read property of undefined 错误。
请指导我。
【问题讨论】:
标签: javascript commonjs module-pattern revealing-module-pattern module-packaging