为什么我的Javascript正常运行正常,但是缩小,它不会?

Saq*_*Ali 0 javascript angularjs gruntjs grunt-contrib-uglify

我有一个我正在开发的webapp,它使用HTML + Javascript(Angular 1.5.0)+ CSS的前端.当我在本地主机上运行时,网站运行良好.我有一个/index.html文件.这个文件导入我的javascript代码,如下所示:<script src="/app/app.js"></script>

但现在我刚刚使用Grunt实现了自动linting,uglifying等.Grunt非常好地将我的单个Javascript文件(/app/app.cs)转换为minnified one(/dist/js/app.min.js).我改变了我/index.html对包括minnified的Javascript来代替:<script src="/dist/js/app.min.js"></script>.但现在应用程序停止工作.在浏览器的开发控制台中,我看到以下错误:

angular.js:68 Uncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to:
Error: [$injector:unpr] Unknown provider: a
http://errors.angularjs.org/1.5.0/$injector/unpr?p0=a
    at http://127.0.0.1:8080/bower_components/angular/angular.js:68:12
    at http://127.0.0.1:8080/bower_components/angular/angular.js:4397:19
    at getService (http://127.0.0.1:8080/bower_components/angular/angular.js:4550:39)
    at injectionArgs (http://127.0.0.1:8080/bower_components/angular/angular.js:4574:58)
    at Object.invoke (http://127.0.0.1:8080/bower_components/angular/angular.js:4596:18)
    at runInvokeQueue (http://127.0.0.1:8080/bower_components/angular/angular.js:4497:35)
    at http://127.0.0.1:8080/bower_components/angular/angular.js:4506:11
    at forEach (http://127.0.0.1:8080/bower_components/angular/angular.js:321:20)
    at loadModules (http://127.0.0.1:8080/bower_components/angular/angular.js:4487:5)
    at createInjector (http://127.0.0.1:8080/bower_components/angular/angular.js:4409:19)
http://errors.angularjs.org/1.5.0/$injector/modulerr?p0=raptorApp&p1=Error%…F%2F127.0.0.1%3A8080%2Fbower_components%2Fangular%2Fangular.js%3A4409%3A19)
Run Code Online (Sandbox Code Playgroud)

为什么正常的Javascript文件可以正常工作,但Grunt缩小的文件不会?我该如何解决?

Dan*_*ite 6

您的角度组件正在缩小,无法知道要注入的服务.您应该装饰控制器和其他部件以允许Angular正常工作.在这里阅读:Angularjs缩小了最佳实践