如何为Gulp.js的html添加新的脚本块?

时间:2014-11-11 13:58:33

标签: javascript html gulp gulp-concat

我正在使用yeoman gulp web-app。

生成的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]-->

0 个答案:

没有答案