我已经四处搜寻了。有些人遇到这个问题是因为他们忘记包含某些模块,例如 ngRoute 或 ngAnimate...我已经包含并注入(inject)了它们。
我正在使用 Yeoman 来引导项目,并且该应用程序在缩小之前运行良好,即使用“grunt 服务器”运行
缩小后(当我运行“grunt server:dist”时),我遇到了这个问题:
Uncaught Error :[$injector:modulerr] http://errors.angularjs.org/1.2.1/$injector/modulerr?p0=app&p1=Error%3A%20%…0(http%3A%2F%2Flocalhost%3A9000 %2Fscripts%2Fd3a6bda4.vendor.js%3A1%3A11551) d3a6bda4.vendor.js:1
对此有什么想法吗?提前致谢。
<小时/>@tschiela,感谢您建议我看一下 Gruntfile.js,但我认为应该没问题,因为我也在其他项目中使用 AngularJS (1.0.8),并且我使用相同的 Gruntfile .js 跨项目。
@Gorgi Rankovski,感谢您建议我查看我的代码,这里有一些代码,我正在使用 CoffeeScript,我想我明白你的意思,
``` CoffeeScript
angular.module('app.controllers', [])
.controller('AppCtrl', [
'$scope', '$location'
($scope, $location) ->
$scope.isSpecificPage = ->
path = $location.path()
return _.contains( ['/', '/index-vendor', '/404', '/signin', '/signup'], path )
])
```
最佳答案
终于,我成功了。
<!-- build:js scripts/vendor.js -->
<script src="bower_components/angular/angular.min.js"></script>
<script src="bower_components/angular-resource/angular-resource.min.js"></script>
<script src="bower_components/angular-animate/angular-animate.min.js"></script>
<script src="bower_components/angular-cookies/angular-cookies.min.js"></script>
<script src="bower_components/angular-sanitize/angular-sanitize.min.js"></script>
<script src="bower_components/angular-route/angular-route.min.js"></script>
<script src="bower_components/underscore/underscore-min.js"></script>
<!-- endbuild -->
我尝试了很多东西,最后,我发现它与 grunt-contrib-uglify 任务有关。 (然而,当我使用 AngularJS 1.0.8 时,同样的任务效果很好,很奇怪)
所以,我没有对 AngularJS 文件进行丑化,而是我只是执行 concat 任务,删除了丑化步骤,现在一切都很好。
useminPrepare: {
html: '<%= yeoman.app %>/index.html',
options: {
dest: '<%= yeoman.dist %>',
flow: {
steps: {
'js': ['concat']
}
}
}
},
关于AngularJS 1.2.1 $injector :modulerr after minifying, 但它在缩小之前运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20089960/