Build 大口注射无效

Build 大口注射无效,build,gulp,gulp-inject,Build,Gulp,Gulp Inject,我有一个用于测试的简单构建过程设置。我已经阅读了很多次文档,但似乎无法让Gulp inject将我想要的脚本注入index.html文件 我的吞咽文件如下所示: gulp.task('inject1', function() { return gulp.src('app/index.html') .pipe(inject(gulp.src('./app/scripts/app.js', {read : false}))) // Not necessary to read t

我有一个用于测试的简单构建过程设置。我已经阅读了很多次文档,但似乎无法让Gulp inject将我想要的脚本注入index.html文件

我的吞咽文件如下所示:

gulp.task('inject1', function() {
   return gulp.src('app/index.html')
        .pipe(inject(gulp.src('./app/scripts/app.js', {read : false}))) // Not necessary to read the files (will speed up things), we're only after their paths
        .pipe(gulp.dest("dist"));
});

gulp.task('inject2', function() {
    return gulp.src('app/scripts/**/*.js', {read : false}) // Not necessary to read the files (will speed up things), we're only after their paths
        .pipe(inject("./app/index.html"))
        .pipe(gulp.dest("./dist"));
});
这是my Index.html的一部分:

<!-- inject:js -->

<!-- endinject-->

这两个都是从github上的文档中复制的

当我运行这两个任务中的任何一个时,控制台只会说“开始‘注入’完成‘注入”

在my./dist文件夹中,它创建了一个Index.html文件,但没有注入js文件


我尝试过以多种不同的方式键入src和inject属性,但没有成功。知道我做错了什么吗?

首先,您的endinject标记有一个错误:

<!-- endinject-->
还要确保使用相同的方法来验证是否与
html
文件匹配。 除此之外,这只是反复试验,直到您了解管道,以获得正确路径的正确文件

如果
gulp inject
没有注入任何文件,这意味着您没有正确地导入它们,或者您的目标
inject
不正确。该插件工作正常,对我来说非常有用


如果您需要查看示例正在工作的gulp文件,请查看此我对以下代码有相同的问题:

    var injectSrc = gulp.src(['./public/css/*.css', '.public/js/*.js'], {read: false});
var injectOptions = {
    ignorePath: '/public'   
};
var options = {
    bowerJson: require('./bower.json'),
    directory: './public/lib',
    ignorePath: '../../public'
}

gulp.task('inject', function() {
    return gulp.src('./src/views/*.html')
            .pipe(debug())
            .pipe(wiredep(options))
            .pipe(debug())
            .pipe(inject(injectSrc, injectOptions))
            .pipe(debug())
            .pipe(gulp.dest('./src/views'));

});
My index.html具有以下特性:

<!--bower:css-->
<!--endbower-->
<!--bower:js-->
<!--endbower-->
<!--inject:css-->
<!--endinject-->
<!--inject:js-->
<!--endinject-->

它工作正常。

我遇到了同样的问题。它看起来像是在执行noop,因为生成的HTML文件只保留了和注释。我也是。我真希望有某种调试机制存在。我收到了同样的错误消息,但结果是我的index.HTML文件是空的!看得好。我不可能要猜测我的问题是注释中的空格。gulp-using被列为gulp插件的黑名单,建议改为gulp debug:刚刚遇到类似问题;我在代码中使用了
。显然
/
是不允许的,并且导致了问题。
    var injectSrc = gulp.src(['./public/css/*.css', '.public/js/*.js'], {read: false});
var injectOptions = {
    ignorePath: '/public'   
};
var options = {
    bowerJson: require('./bower.json'),
    directory: './public/lib',
    ignorePath: '../../public'
}

gulp.task('inject', function() {
    return gulp.src('./src/views/*.html')
            .pipe(debug())
            .pipe(wiredep(options))
            .pipe(debug())
            .pipe(inject(injectSrc, injectOptions))
            .pipe(debug())
            .pipe(gulp.dest('./src/views'));

});
<!--bower:css-->
<!--endbower-->
<!--bower:js-->
<!--endbower-->
<!--inject:css-->
<!--endinject-->
<!--inject:js-->
<!--endinject-->
var injectSrc = gulp.src(['./public/css/*.css', './public/js/*.js'], {read: false});