gulp-usemin可以接受多个文件吗?

时间:2015-01-14 01:10:51

标签: javascript node.js yeoman gulp

我遇到了usemin的问题,我不确定它是不是一个bug。

我的申请结构很简单:

- root
    |- gulpfile.js
    |- app
    |   |- index.html
    |   |- about.html
    |   |- contact.html
    |   |- js
    |       |- a.js
    |       |- b.js
    |       |- c.js
    |       |- d.js
    |       |- e.js
    |
    |- dist

我的每个html文件都有一个usemin块,其中包含所有脚本,例如:

<!-- build:js js/app.js -->
<script src="../js/a.js"></script>
<script src="../js/b.js"></script>
<script src="../js/c.js"></script>
<script src="../js/d.js"></script>
<script src="../js/e.js"></script>
<!-- endbuild -->

当我运行以下任务时:

gulp.task('usemin'. function() {
    gulp.src('app/*.html')
        .pipe(usemin({
            assetDir: 'app/**/'
        }))
        .pipe(dest('dist/'))
});

只有第一个html文件会复制到新目录,本例中的js会按预期连接。

当我将gulp.src更改为gulp.src(['index.html','about.html','contact.html'])时,我遇到了一个不同的问题,所有html文件都会复制,但只有按字母顺序排列的第一个文件会运行usemin块,用新脚本替换5个脚本

任何见解都会很棒,我已经仔细阅读了gulp文档和gulp-usemin文档,但无法找到原因。

NPM网站上关于我的两个案例中的第一个案例的例子甚至以一个例子为例,不知道这里发生了什么?也许与我从哪里运行gulpfile有关?

这甚至可能吗?

干杯。

编辑: 不确定这里发生了什么,但我创建了一个全新的项目,并从头开始构建/安装了npm插件和脚本,一切正常。不是一个很好的解决方案,但它节省了我一些时间。

1 个答案:

答案 0 :(得分:0)

而不是使用gulp-usemin只是覆盖要在bower.json内部使用的主文件,如下所示:

{
  "name": "appName",
  "dependencies": {
    "angular": "~1.3.9",
    "angular-animate": "~1.3.9",
    "angular-ui-router": "~0.2.13"
  },
  "overrides": {
    "angular": {
      "main": "angular.min.js"
    },
    "angular-animate": {
      "main": "angular-animate.min.js"
    },
    "angular-ui-router": {
      "main": "release/angular-ui-router.min.js"
    }
  }
}