AngularJS与JavaScript minifier冲突

Bar*_*ein 3 javascript angularjs

这是我的代码,工作正常:

angular.module('foo', []).config(
  function($locationProvider) {
    $locationProvider.html5Mode(true);
  }
);
Run Code Online (Sandbox Code Playgroud)

然而,在缩小之后它看起来像这样:

angular.module('foo', []).config(function(n) { n.html5Mode(true); });
Run Code Online (Sandbox Code Playgroud)

并且AngularJS崩溃并出现一些内部异常.我想我明白为什么它会崩溃,但是什么是解决方法?

Nar*_*yan 6

这是众所周知的流行问题,您可以通过这种方式注入您的依赖

.directive('someDirective', ['$window', function ($window) { .....
Run Code Online (Sandbox Code Playgroud)

您可以在此链接下了解有关它的更多信息

另一种解决方案是使用ng-anotate

如果您使用Angular 1.3,您可以打开strictdi

替换这部分

.config(
  function($locationProvider) {
    $locationProvider.html5Mode(true);
  }
);
Run Code Online (Sandbox Code Playgroud)

对此

.config(['$locationProvider', function($locationProvider) {
    $locationProvider.html5Mode(true);
  }
]);
Run Code Online (Sandbox Code Playgroud)