Grunt-include-source + usemin无法一起使用

时间:2014-09-13 13:59:42

标签: gruntjs grunt-usemin

我正在按照这个SO回答How to include scripts automatically in a yeoman/grunt project?如何通过usemin插件包含脚本文件夹中的所有js文件。在我添加了grunt-include-source插件之后,usemin无法用正确的concated + minified脚本替换生成的脚本块,只删除块或只填充源标记。

index.html中的源代码如下:

<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
<!-- endbower -->
<!-- endbuild -->

<!-- build:js({.tmp,app}) scripts/scripts.js -->
<!-- include: "type": "js", "files": "scripts/**/*.js" -->
<!-- endbuild -->

在grunt-include-source和grunt-wiredep之后是代码:

<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
<script src="bower_components/es5-shim/es5-shim.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/json3/lib/json3.js"></script>
<script src="bower_components/angular-resource/angular-resource.js"></script>
<script src="bower_components/angular-cookies/angular-cookies.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script>
<!-- endbower -->
<!-- endbuild -->

<!-- build:js({.tmp,app}) scripts/scripts.js -->
<script src="scripts/app.js"></script>
<script src="scripts/controllers/about.js"></script>
<script src="scripts/controllers/company/list.js"></script>
<script src="scripts/controllers/dashboard/main.js"></script>
... more ...
<!-- endbuild -->

我正在使用grunt-wiredep插件,该插件在grunt-include-source之后运行,在grunt-usemin之前运行,此代码被正确替换。

输出应为:

<script src="scripts/vendor.1e81ad0a.js"></script>
<script src="scripts/scripts.1e82ad0a.js"></script>

但仅限于:

<script src="scripts/vendor.1e81ad0a.js"></script>

<!-- build:js({.tmp,app}) scripts/scripts.js -->
<script src="scripts/app.js"></script>
<script src="scripts/controllers/about.js"></script>
<script src="scripts/controllers/company/list.js"></script>
<script src="scripts/controllers/dashboard/main.js"></script>
... more ...
<!-- endbuild -->

有没有人解决这个问题?

提前致谢, 米甲

1 个答案:

答案 0 :(得分:1)

在任务中:&#39; copy:dist&#39;评论html的副本,以便好的index.html(在包含源运行之后)不会再次从应用程序中覆盖index.html

copy: {
      dist: {
        files: [{
          expand: true,
          dot: true,
          cwd: '<%= yeoman.app %>',
          dest: '<%= yeoman.dist %>',
          src: [
            '*.{ico,png,txt}',
            '.htaccess',
            //'*.html',
            'views/{,*/}*.html',
            'images/{,*/}*.{webp}',
            'fonts/*'
          ]
        }