我正在使用 yeoman gulp 网络应用程序。
生成的 index.html 文件有几个预制的脚本连接块,例如:
<!-- build:js scripts/vendor.js -->
<!-- bower:js -->
... js files ...
<!-- endbower -->
<!-- endbuild -->
我想添加我自己的块,就像我在 Grunt 中所做的那样,作为 IE8 的条件。在 Grunt 中,我添加了以下内容:
<!-- build:js scripts/ie8.js -->
<!--[if lt IE 9]>
<script src="bower_components/es5-shim/es5-shim.js"></script>
<script src="bower_components/json3/lib/json3.min.js"></script>
<script src="bower_components/respondJs/src/respond.js"></script>
<![endif]-->
<!-- endbuild -->
编译为
<!--[if lt IE 9]>
<script src="scripts/ie8.js"></script>
<![endif]-->
当我尝试将这样的块添加到我的 Gulp index.html 时,构建任务会引发错误:
events.js:74
throw TypeError('Uncaught, unspecified "error" event.');
^
想法?
更新: 这是最终的 usemin 任务:
gulp.task('usemin', function() {
gulp.src('app/*.html')
.pipe(usemin({
css: [minifycss(), 'concat'],
//html: [minifyhtml({empty: true})],
js: [uglify({mangle: false}), rev()]
}))
.pipe(gulp.dest('build/'));
});
此外,正如建议的那样,我将条件注释包裹在 usemin 注释周围:
<!--[if lt IE 9]>
<!-- build:js scripts/ie8.js -->
<script src="bower_components/es5-shim/es5-shim.min.js"></script>
<script src="bower_components/json3/lib/json3.min.js"></script>
<script src="bower_components/respondJs/dest/respond.min.js"></script>
<!-- endbuild -->
<![endif]-->