目前我在写一个Grunt Build文件;使用“usemin”我在HTML中创建了3个块,它们将创建3个文件assets.min.js,lib.min.js等。
<!-- build:js js/assets.min.js -->
<script type="text/javascript" src="app/assets/js/lib/angular.min.js"></script>
<script type="text/javascript" src="app/assets/js/lib/angular-cache.min.js"></script>
<script type="text/javascript" src="app/assets/js/lib/angular-route.min.js"></script>
<script type="text/javascript" src="app/assets/js/lib/angular-animate.min.js"></script>
<script type="text/javascript" src="app/assets/js/lib/angular-touch.min.js"></script>
<script type="text/javascript" src="app/assets/js/lib/angular-cookies.min.js"></script>
<script type="text/javascript" src="app/assets/js/lib/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="app/assets/js/lib/jqueryui.min.js"></script>
<script type="text/javascript" src="app/assets/js/lib/bootstrap.min.js"></script>
<script type="text/javascript" src="app/assets/js/lib/bootstrap-switch.min.js"></script>
<!-- endbuild -->
这很好用。但我面临的两个主要问题是......
我还尝试了第二个选项,只需将这些文件合并,即绕过缩小步骤,避免使用Usemin ..仍然是同样的错误
请指导
答案 0 :(得分:0)
Angular使用称为依赖注入的东西来解析你的参数。 Angular通过其名称知道每个对象是什么。
&#34; $范围&#34;将被初始化为范围对象,因为它被命名为&#34; $ scope&#34;。在usemin之后,这个变量将被称为其他东西,比如&#34; a&#34;,以节省字节。 Angular不知道&#34; a&#34;是,并抛出一个错误。
你可以这样解决这个问题:
在这里阅读有关角度应用程序的缩小 http://docs.angularjs.org/tutorial/step_05
在运行uglify之前,请手动关注指南或使用 ngmin 处理。
希望这有帮助!
答案 1 :(得分:0)
你可以通过两种方式解决这个问题。
1.在usemin块中使用未分隔的文件
<!-- build:js js/assets.min.js -->
<script type="text/javascript" src="app/assets/js/lib/angular.js"></script>
<script type="text/javascript" src="app/assets/js/lib/angular-cache.js"></script>
<script type="text/javascript" src="app/assets/js/lib/angular-route.js"></script>
<script type="text/javascript" src="app/assets/js/lib/angular-animate.js"></script>
<script type="text/javascript" src="app/assets/js/lib/angular-touch.js"></script>
<script type="text/javascript" src="app/assets/js/lib/angular-cookies.js"></script>
<script type="text/javascript" src="app/assets/js/lib/jquery-1.10.1.js"></script>
<script type="text/javascript" src="app/assets/js/lib/jqueryui.js"></script>
<script type="text/javascript" src="app/assets/js/lib/bootstrap.js"></script>
<script type="text/javascript" src="app/assets/js/lib/bootstrap-switch.js"></script>
<!-- endbuild -->
2.使用grunt任务
copy:{
scripts:{
files:[{
expand: true,
cwd:'<%= config.app %>',
dest: '<%= config.tmp %>', src: ['app/assets/js/lib/**/*.min.js']
}]
},
}