私はヨーマンガルプウェブアプリを使用しています。
生成された 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]-->