0

我正在尝试使用“gulp-inject”插件将 js 文件添加到我的索引文件(Angular 应用程序)中。

以下是我的 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 应该是 ' js/app.module.js '。

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

  • 遵循github 上插件的“ignorePath”问题的一些建议(单击此处)
  • 仅包括一个选项(即 addRootSlash 或 ignorePath)
  • 使用 {cwd: 'js/'} 作为唯一选项
  • 将 'js' 变量更改为字符串(即 var js = source + '**/*.module.js')
  • 将 ignorePath 更改为字符串(即 ignorePath: 'src/')

不知道出了什么问题,或者还有什么可以尝试的。任何帮助将不胜感激!

4

1 回答 1

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));
于 2016-10-03T07:30:49.993 回答