2016-04-25 17 views
0

我有一个开发的web应用程序,它使用HTML + Javascript(Angular 1.5.0)+ CSS的前端。当我在本地主机上运行它时,网站性能很好。我有一个/index.html文件。这个文件导入我的javascript代码是这样的:<script src="/app/app.js"></script>为什么我的Javascript正常运行正常,但是被分化了,不会呢?

但现在我刚刚实现了使用Grunt的自动化linting,uglifying等。 Grunt非常好地将我的单个Javascript文件(/app/app.cs)转换为minnified(/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) 

为什么正常的JavaScript文件做工精细,但一个由步兵不会精缩?我该如何解决它?

+0

在minnifying之前使用grunt-ng-annotate为我工作。谢谢! https://www.npmjs.com/package/grunt-ng-annotate –

回答

6

您的角度组件正在缩小,无法知道要注入什么服务。你应该装饰你的控制器和其他部分,以使Angular能够正常工作。在此处阅读:Angularjs minify best practice

+0

在minnifying之前使用grunt-ng-annotate为我工作。谢谢! https://www.npmjs.com/package/grunt-ng-annotate –

相关问题