Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS通过组合javascript文件减少HTTP请求_Javascript_Http_Angularjs_Gruntjs_Bundling And Minification - Fatal编程技术网

AngularJS通过组合javascript文件减少HTTP请求

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的担忧

使用angularJS很棒。尽管我发现了一个问题,我有以下文件:

  • app.js
  • controllers.js
  • filters.js
  • 指令.js
  • services.js
这与实际的AngularJS库文件以及jQuery一起,可能是将http请求分配给服务器


有没有一种方法可以将所有这些结合在一起,形成一个生产环境?更重要的是,是否有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