我将我的JavaScript代码分成几个文件,全部使用模块模式(更新一个全局变量,比如MyApp,使用新功能和成员。
是否可以将文件缩小为一个而不会破坏范围
示例我想缩小:
File1.js
var Module = (function(ns) {
ns.fun1 = function() { alert('fun1'); };
return ns;
})(Module || {});
File2.js
var Module = (function(ns) {
ns.fun2 = function() { alert('fun2'); };
return ns;
})(Module || {});
答案 0 :(得分:2)
全局范围实际上是全局的,因为如果要从一个文件或多个文件更改它,则无关紧要。但是,文件的顺序很重要,具体取决于您使用的模块模式风格。对于一个好的写入,也包括跨文件私有状态,请阅读:http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth
答案 1 :(得分:1)
是的,你可以,并且是一个很好的工作方式,对每个人来说,特别是如果更多的开发人员参与并且健康的应用程序。
我使用Minify类(http://code.google.com/p/minify/)和一个特殊的配置文件(https://beat.snipt.net/minify-config-file-minify-each-folder-from-project-1-minified-file/)来扫描我的文件夹,并为每个子文件夹创建一个文件(JS或CSS)。 这样我就可以制作模块化的JS或CSS文件,可以在类或常规文件上进行拆分。
关键是文件的ORDER,取决于读取文件夹功能和操作系统类型可能不同(ex php readdir vs scandir)