我在使用 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块,用于包含所有脚本,例如:
Each of my html files has a usemin block in it to include all of the scripts for example:<!-- 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文件都被复制,但只有按字母顺序排列的第一个HTML文件运行usemin块,并用新的脚本替换5个脚本。
任何见解都很好,我已经广泛阅读了gulp文档和gulp-usemin文档,但找不到发生这种情况的原因。
NPM网站上对这两种情况中的第一种甚至作为示例给出,不确定发生了什么?也许与我从哪里运行gulpfile有关?
这真的可能吗?
谢啦。
编辑:不确定这里发生了什么,但我创建了一个全新的项目,并从头开始构建/安装了npm插件和脚本,一切都正常。这不是很好的解决方案,但它节省了我的时间。