Javascript AngularJS缩小的js文件不工作

Javascript AngularJS缩小的js文件不工作,javascript,php,jquery,angularjs,minify,Javascript,Php,Jquery,Angularjs,Minify,我缩小并合并了所有的js文件在一个html中,并没有任何东西是在网站上工作 有这么多的文件在js和我不想包括所有的一个一个,所以修改和合并都在一个 有没有其他方法可以减少对js文件的http调用数量。缩小AngularJS文档时,遵循文档进行依赖性注入非常重要,否则代码可能会中断。您应该确保使用的是首选的数组方法。下面是一个示例: someModule.controller('MyController', ['$scope', 'greeter', function($scope, gre

我缩小并合并了所有的js文件在一个html中,并没有任何东西是在网站上工作

有这么多的文件在js和我不想包括所有的一个一个,所以修改和合并都在一个


有没有其他方法可以减少对js文件的http调用数量。

缩小AngularJS文档时,遵循文档进行依赖性注入非常重要,否则代码可能会中断。您应该确保使用的是首选的数组方法。下面是一个示例:

   someModule.controller('MyController', ['$scope', 'greeter', function($scope, greeter) {
  // ...
}]);

正如官方AngularJS文档所示:。

缩小AngularJS文档时,遵循文档进行依赖性注入非常重要,否则代码可能会中断。您应该确保使用的是首选的数组方法。下面是一个示例:

   someModule.controller('MyController', ['$scope', 'greeter', function($scope, greeter) {
  // ...
}]);

正如官方的Angular JS文档所示:.

如果您有这样的控制器,请继续关注@dayle salmon的答案

app.controller('DemoCtrl', function(dependency1, dependency2){
 // controller code
});
换成

app.controller('DemoCtrl', ['dependency1', 'dependency2', function(dependency1, dependency2){
 // controller code
}]);

ReasonJS小型化工具通常会更改注入的依赖项的名称。而且Angular也不知道依赖关系是什么。所以,您可以手动声明它们,这样缩小后就不会出现问题

继续@dayle salmon的回答,如果你有这样的控制器

app.controller('DemoCtrl', function(dependency1, dependency2){
 // controller code
});
换成

app.controller('DemoCtrl', ['dependency1', 'dependency2', function(dependency1, dependency2){
 // controller code
}]);

ReasonJS小型化工具通常会更改注入的依赖项的名称。而且Angular也不知道依赖关系是什么。所以,您可以手动声明它们,这样缩小后就不会出现问题

看来,这是一个原因。根据Angular JS文档:

小心:如果你计划缩小你的代码,你的服务名称将被重命名并破坏你的应用程序

改用。例如:

angular
  .module("MyModule")
  .controller("MyCtrl", ["$scope", "$timeout", function ($scope, $timeout) {
    ...
  }]);

更进一步,考虑使用这更容易:

angular
  .module("MyModule")
  .controller("MyCtrl", function ($scope, $timeout) {
    "ngInject";
    ...
  });

看来,这是一个原因。根据Angular JS文档:

小心:如果你计划缩小你的代码,你的服务名称将被重命名并破坏你的应用程序

改用。例如:

angular
  .module("MyModule")
  .controller("MyCtrl", ["$scope", "$timeout", function ($scope, $timeout) {
    ...
  }]);

更进一步,考虑使用这更容易:

angular
  .module("MyModule")
  .controller("MyCtrl", function ($scope, $timeout) {
    "ngInject";
    ...
  });

你能分享一下你是如何定义你的控制器的吗?你可以尝试使用CDN来减少每个域的呼叫数量,但是缩小和合并应该可以很好地工作,我使用带有Angular JS的网页,没有问题。请参阅plunker link@Greatym.com,你最终成功了吗?你能分享一下你是如何定义你的控制器的吗?你可以尝试使用CDN来减少每个域的调用数,但是缩小和合并应该可以很好地工作,我使用带有Angular JS的webpack没有问题。请看plunker链接@Greatym.com,你最终成功了吗?我管理了依赖关系。我缩小并合并了所有js文件。angular js未定义。@Greatym.com,请评论或删除
app/ctrl/autoQuoteCtrl.js
文件中的第九行
angular.element
无法按照您实现的方式工作,因为默认情况下使用的是jqLite,而不是jQuery.I管理的依赖项。我缩小并合并了所有js文件。angular js未定义。@Greatym.com,请评论或删除
app/ctrl/autoQuoteCtrl.js
文件中的第九行
angular.element
无法按照您实现的方式工作,因为默认情况下使用的是jqLite,而不是jQuery。