7

我将我的 JavaScript 代码拆分为几个文件,所有文件都使用模块模式(更新一个全局变量,比如 MyApp,使用新功能和成员。

是否可以将文件缩小为一个而不破坏范围

我想缩小的例子:

文件1.js

var Module = (function(ns) {

 ns.fun1 = function() { alert('fun1'); };
 return ns;

})(Module || {});

文件2.js

var Module = (function(ns) {

 ns.fun2 = function() { alert('fun2'); };
 return ns;

})(Module || {});
4

2 回答 2

2

全局范围实际上是全局的,因为无论您是从一个文件还是多个文件更改它都没有关系。但是,文件的顺序可能很重要,具体取决于您使用的模块模式风格。对于一个好的文章,也包括跨文件私有状态,请阅读: http: //www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth

于 2013-02-21T08:42:59.413 回答
1

是的,你可以,而且是一种很好的工作方式,对每个人来说,特别是如果有更多的开发人员参与进来并且对应用程序健康。

我使用带有特殊配置文件(https://beat.snipt.net/minify-config-file-minify-each-folder-from的 Minify 类(http://code.google.com/p/minify/ ) -project-1-minified-file/)扫描我的文件夹并为每个子文件夹创建一个文件(JS或CSS)。通过这种方式,我可以制作模块化的 JS 或 CSS 文件,这些文件可以拆分为类或常规文件。

关键是文件的顺序,取决于读取文件夹功能和操作系统类型可能不同(例如 php readdir vs scandir)

于 2013-02-27T20:31:24.550 回答