我有一个关于 usemin 的问题,我不确定它是否是一个错误。
我的应用程序结构很简单:
- root
|- gulpfile.js
|- app
| |- index.html
| |- about.html
| |- contact.html
| |- js
| |- a.js
| |- b.js
| |- c.js
| |- d.js
| |- e.js
|
|- dist
我的每个 html 文件中都有一个 usemin block 来包含所有脚本,例如:
<!-- 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 block ,用新脚本替换 5 个脚本。
任何见解都会很棒,我已经广泛阅读了 gulp 文档和 gulp-usemin 文档,但找不到任何原因会发生这种情况。
我的两个案例中的第一个在 NPM 网站上的示例甚至作为示例给出,不确定这里发生了什么?也许与我从哪里运行 gulpfile 有关?
这可能吗?
干杯。
编辑: 不确定这里发生了什么,但我创建了一个全新的项目并从头开始构建/安装了 npm 插件和脚本,一切正常。这不是一个很好的解决方案,但它节省了我一些时间。
最佳答案
不使用 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"
}
}
}
关于javascript - gulp-usemin 可以接受多个文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27934320/