angularjs - 使用min "Different sources attempting to write to the same destination"

标签 angularjs gruntjs minify grunt-usemin

我有一个 AngularJS 应用程序,我正在为其处理 usemin 任务。这个应用程序有 2 个 html 页面,两个页面都包含一个缩小为 common.js 的 block ,其他页面包括为这些特定页面缩小的 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 :不同的源尝试写入相同的目标:。我(认为)我需要在 useminPrepare 中同时包含 page1 和 page2 才能正确生成 page1.js 和 page2.js。人们如何解决这个问题?

最佳答案

通常有 Angular 的人会创建单页应用程序,并且只为整个页面骨架创建一个“主”index.html。这样,您只需处理一组文件。使用 ui-router、ng-includes 或其他东西将不同的子页面呈现到给定的 div 中。

关于angularjs - 使用min "Different sources attempting to write to the same destination",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26281756/

相关文章:

maven - 在Maven中多次运行同一个插件

javascript - ASP.NET MVC4 网络优化不会在普通互联网应用程序上缩小或添加缓存破坏器

jquery - 将对象值连接到 html 模板中的字符串变量

javascript - Angular2 组件 - 从索引页面呈现 html

angularjs - 运行 grunt "concurrent:test"由于警告而中止

javascript - 在生产中运行平均堆栈应用程序

angularjs - 动态构建html表格行和列ngrepeat

AngularJS:当 html5mode(true) 开启时,相对链接路径被破坏

twitter-bootstrap-3 - 如何让 Grunt 在构建中包含 bootstrap-theme.css?

javascript - "use strict"仅在调试中?