我正在使用Yeoman来引导项目,并且应用程序在缩小之前运行良好,即使用“grunt server”运行
在缩小之后(当我运行“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 )
])
```
答案 0 :(得分:0)
最后,我明白了。
<!-- 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任务,删除了uglify步骤,现在一切都很好。
useminPrepare: {
html: '<%= yeoman.app %>/index.html',
options: {
dest: '<%= yeoman.dist %>',
flow: {
steps: {
'js': ['concat']
}
}
}
},
答案 1 :(得分:0)
这是一种“正常”行为。 Angular对缩小非常敏感,你不应该自己做。您应该只将Angular源添加到构建的脚本中。 Miško关于最佳实践的演讲解释了这一点。您可以在此处观看:https://www.youtube.com/watch?v=ZhfUv0spHCY