对于您的 javascript 文件的正确顺序问题,我在一个较大的项目中遇到了这个问题,没有人真正知道正确的顺序。幸运的是,我们发现 Google Closure Compiler 正是这样做的:https ://github.com/google/closure-compiler
你给它所有的js文件,它会分析它们并按顺序连接它们
$ java -jar compiler.jar --js_output_file=out.js in1.js in2.js in3.js ...
甚至还有一个用于连接的 grunt 插件:https ://github.com/gmarty/grunt-closure-compiler
'closure-compiler': {
frontend: {
closurePath: '/src/to/closure-compiler',
js: 'static/src/frontend.js',
jsOutputFile: 'static/js/frontend.min.js',
maxBuffer: 500,
options: {
compilation_level: 'ADVANCED_OPTIMIZATIONS',
language_in: 'ECMASCRIPT5_STRICT'
}
}
},
另一种方法是将您的 javascript 更改为 AMD 或 CommonJS 模块,这样您就不必担心正确的顺序。RequireJS ( http://requirejs.org/docs/start.html ) 例如 AMD 或 Webpack ( http://webpack.github.io/ ) ...或许多其他的可能性。