我正在用Javascript设计一个不平凡的应用程序。Javascript,多文件模块和Require.Js
从我目前阅读的常见做法是通过将所有内容定义为模块来避免混淆全局命名空间。
而且为了方便和清晰的代码模块可以有许多模块和模块依赖关系时,使用module Augmentation pattern
var MODULE = (function (my) {
// functions, objects, etc ...
return my;
}(MODULE || {}));
现在可以分为单独的文件,require.Js似乎是一个有前途的工具添加顺序,解耦和清洁的命名空间。让所有模块异步加载并确保只有在它们的依赖关系准备就绪后才能运行。
define(["depenencyModule1", "depenencyModule2"],
function(depenencyModule1, depenencyModule2) {
// define MyModule
return MyModule;
}
);
这种用法但是与之前的模块增强模式干扰,起初好像我使用它错了,但后来我通过require.js documentation去,发现这个:
“只有一个考虑到模块名称到文件路径查找算法的性质,应该根据JavaScript文件定义模块。“
所以,现在我很困惑,如果我写我的模块到一个单一的文件它将是巨大的和可维护的,这不会使require.js无用? 或者,与其他语言的模块相比,模块的Javascript概念只是一小段代码?
目前尚不清楚“干扰之前的模块增强模式”的含义。什么模式?什么? – DFriend