Gulp注入输出,但没有一个选项正常工作

时间:2016-07-31 05:39:29

标签: javascript angularjs gulp gulp-inject

我正在尝试使用' gulp-inject'插件将js文件添加到我的索引文件(Angular App)。

以下是我的gulpfile.js的一部分:

var source = 'src/';
var index = source + 'index.html';
var js = [
    source + '**/*.module.js'
    // More file paths
];

gulp.task('injectJs', function () {
    return gulp
        .src(index)
        .pipe($.inject(gulp.src(js, {addRootSlash: false, ignorePath: ['src/']})))
        .pipe(gulp.dest(source));
});

运行任务后,以下是生成的index.html文件的部分:

<!-- inject:js -->
    <script src="/src/js/app.module.js"></script>
<!-- endinject -->

根据任务中设置的附加选项,输出src应为&#39; js / app.module.js &#39;。

我尝试过的事情,结果没有变化:

  • 根据插件的'ignorePath' issue on github (click here)
  • 提供一些建议
  • 仅包含一个选项(即addRootSlash或ignorePath)
  • 使用{cwd:&#39; js /&#39;}作为唯一选项
  • 改变&#39; js&#39;变量为字符串(即var js = source +&#39; ** / * .module.js&#39;)
  • 将ignorePath更改为字符串(即ignorePath:&#39; src /&#39;)

不确定有什么问题,或者还有什么可以尝试。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

试试这个

var inject = require('gulp-inject');
var injectSrc = gulp.src([// your custom css path,
                          // your custom js path], {read: false});
var injectOptions = {
    addRootSlash: false, 
    ignorePath: ['src/']
};

return gulp.src(index)
    .pipe(inject(injectSrc, injectOptions)) // here is the inject-gulp
    .pipe(gulp.dest(source));