我正在开发一个AngularJS应用程序,并使用usemin任务进行处理。该应用程序有两个HTML页面,均包含一个被压缩为common.js的块,另一个页面包含针对特定页面进行压缩的js。
page1.html
<!-- build:js scripts/common.js -->
<!-- bower:js -->
<script src="a.js"></script>
<script src="b.js"></script>
<!-- endbower -->
<!-- endbuild -->
<!-- build:js scripts/page1.js -->
<!-- bower:js -->
<script src="c.js"></script>
<script src="d.js"></script>
<!-- endbower -->
<!-- endbuild -->
page2.html
<!-- build:js scripts/common.js -->
<!-- bower:js -->
<script src="a.js"></script>
<script src="b.js"></script>
<!-- endbower -->
<!-- endbuild -->
<!-- build:js scripts/page2.js -->
<!-- bower:js -->
<script src="e.js"></script>
<script src="f.js"></script>
<!-- endbower -->
<!-- endbuild -->
Gruntfile.js
useminPrepare: {
html: ['<%= yeoman.app %>/page1.html', '<%= yeoman.app %>/page2.html'],
options: {
dest: '<%= yeoman.dist %>'
}
},
Usemin 报错了,因为两个文件中都定义了 common.js,错误信息如下:Fatal error: Different sources attempting to write to the same destination:。我认为需要在 useminPrepare 中同时包含 page1 和 page2,以便正确生成 page1.js 和 page2.js。那么人们是如何解决这个问题的呢?