AngularJS通过组合javascript文件减少HTTP请求
使用angularJS很棒。尽管我发现了一个问题,我有以下文件:AngularJS通过组合javascript文件减少HTTP请求,javascript,http,angularjs,gruntjs,bundling-and-minification,Javascript,Http,Angularjs,Gruntjs,Bundling And Minification,使用angularJS很棒。尽管我发现了一个问题,我有以下文件: app.js controllers.js filters.js 指令.js services.js 这与实际的AngularJS库文件以及jQuery一起,可能是将http请求分配给服务器 有没有一种方法可以将所有这些结合在一起,形成一个生产环境?更重要的是,是否有AngularJS推荐的具体方法来实现这一点?脚本的合并和缩小主要在服务器上完成。不同的技术\工具提供不同的机制来支持此功能。我不认为这是AngularJS的担忧
- app.js
- controllers.js
- filters.js
- 指令.js
- services.js
有没有一种方法可以将所有这些结合在一起,形成一个生产环境?更重要的是,是否有AngularJS推荐的具体方法来实现这一点?脚本的合并和缩小主要在服务器上完成。不同的技术\工具提供不同的机制来支持此功能。我不认为这是AngularJS的担忧 如果使用缩小,您需要注意的唯一一件事是依赖项注入可能会中断。因此,这种形式的DI将是首选
app.controller('myController',['dependency1',
function(dependency1) {
}
]);
脚本的合并和缩小主要在服务器上完成。不同的技术\工具提供不同的机制来支持此功能。我不认为这是AngularJS的担忧 如果使用缩小,您需要注意的唯一一件事是依赖项注入可能会中断。因此,这种形式的DI将是首选
app.controller('myController',['dependency1',
function(dependency1) {
}
]);
正如我前面所描述的,Grunt.js项目能够执行任务命令,如缩小和连接。最广泛支持这些任务的两个grunt.js插件是:
- 丑陋(缩小)
- Concat(文件连接)
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']);
};
module.exports=函数(grunt){
grunt.initConfig({
康卡特:{
选项:{
分隔符:';'
},
地区:{
src:['assets/***/.js'],
dest:'assets/js/.js'
}
},
丑陋的:{
选项:{
横幅:'/*!*/\n'
},
地区:{
档案:{
'assets/js/.min.js':['']
}
}
},
});
grunt.loadNpmTasks(“grunt-contrib-uglify”);
grunt.loadNpmTasks(“grunt-contrib-concat”);
registerTask('default',['concat','uglify']);
};
虽然我相信依靠服务器来编译、缓存和检查缓存的版本不是一个好办法,但我通常不会回答我的onw问题。在生产环境中维护不必要的处理器和系统。Grunt.js项目能够执行任务命令,如上文所述的缩小和连接。最广泛支持这些任务的两个grunt.js插件是:
- 丑陋(缩小)
- Concat(文件连接)
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']);
};
module.exports=函数(grunt){
grunt.initConfig({
康卡特:{
选项:{
分隔符:';'
},
地区:{
src:['assets/***/.js'],
dest:'assets/js/.js'
}
},
丑陋的:{
选项:{
横幅:'/*!*/\n'
},
地区:{
档案:{
'assets/js/.min.js':['']
}
}
},
});
grunt.loadNpmTasks(“grunt-contrib-uglify”);
grunt.loadNpmTasks(“grunt-contrib-concat”);
registerTask('default',['concat','uglify']);
};
虽然我相信依靠服务器来编译、缓存和检查缓存的版本不是一个好办法,但我通常不会回答我的onw问题。在生产环境中维护不必要的处理器和系统。服务器端使用什么?服务器端使用什么?是的,我知道这不属于AngularJS的范围。尽管我在寻找如何完成这项任务的建议。我想从服务器端资产编译/缩小转向生产编译/缩小。服务器端和生产编译之间的区别是什么?如果您认为服务器必须处理文件以生成缩小版本,则情况并非如此。服务器上的缩小只发生一次(使用某些工具),而不是每次请求都完成。因此,实际服务器处理不受影响。是。但是,为了减少我必须维护的系统,我更希望在将更改拉到生产分支之前执行一个构建脚本。我知道有一些方法可以设置带有缓存的自动生成。我发现了grunt.js是的,我知道这超出了AngularJS的范围。尽管我在寻找如何完成这项任务的建议。我想从服务器端资产编译/缩小转向生产编译/缩小。服务器端和生产编译之间的区别是什么?如果您认为服务器必须处理文件以生成缩小版本,则情况并非如此。服务器上的缩小只发生一次(使用某些工具),而不是每次请求都完成。因此,实际服务器处理不受影响。是。但是为了简化我必须维护的系统,我更喜欢在将更改拉入生产分支之前执行构建脚本。我知道有一些方法可以设置带有缓存的自动生成。我发现了grunt.js