使用 angularJS 很棒。虽然我看到一个问题,因为我有以下文件:
- 应用程序.js
- 控制器.js
- 过滤器.js
- 指令.js
- 服务.js
这与实际的 AngularJS 库文件以及 jQuery 一起分配给服务器的 http 请求。
有没有办法将所有这些组合在一起用于生产环境?更重要的是,是否有特定的 AngularJS 推荐方法来做到这一点?
使用 angularJS 很棒。虽然我看到一个问题,因为我有以下文件:
这与实际的 AngularJS 库文件以及 jQuery 一起分配给服务器的 http 请求。
有没有办法将所有这些组合在一起用于生产环境?更重要的是,是否有特定的 AngularJS 推荐方法来做到这一点?
如上所述,Grunt.js 项目能够执行任务命令,例如缩小和连接。对这些任务支持最广泛的两个 grunt.js 插件是:
以下是这些的示例任务脚本:
module.exports = function(grunt) {
grunt.initConfig({
concat: {
options: {
separator: ';'
},
dist: {
src: ['assets/**/*.js'],
dest: 'assets/js/<%= pkg.name %>.js'
}
},
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n'
},
dist: {
files: {
'assets/js/<%= pkg.name %>.min.js': ['<%= concat.dist.dest %>']
}
}
},
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.registerTask('default', ['concat', 'uglify']);
};
我通常不回答我的 onw 问题,尽管我相信依靠服务器来编译、缓存和检查缓存版本不是要走的路。在生产环境中维护不必要的处理器和系统。
脚本的合并和缩小主要在服务器上完成。不同的技术\工具提供了不同的机制来支持这个特性。我不认为这是 AngularJS 的问题。
如果使用缩小,你唯一需要注意的是依赖注入可能会在 Angular 中中断。因此,这种形式的 DI 将是首选。
app.controller('myController',['dependency1',
function(dependency1) {
}
]);