12

テスト用に簡単な Gulp ビルド プロセスをセットアップしました。ドキュメントを何度も読みましたが、Gulp-inject で必要なスクリプトを index.html ファイルに挿入できないようです。

私の Gulp ファイルは次のようになります。

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"));
});

これは私の Index.html の一部です:

<!-- inject:js -->

<!-- endinject-->

これらはどちらも github のドキュメントからコピーされたものです。

これらのタスクのいずれかを実行すると、コンソールに「Started 'inject' Finished 'Inject'」とだけ表示されます

私の ./dist フォルダーに Index.html ファイルが作成されますが、js ファイルは挿入されません。

src に入力してさまざまな方法でプロパティを挿入しようとしましたが、うまくいきませんでした。私が間違っていることは何か分かりますか?

4

2 に答える 2

1

次のコードで同じ問題が発生しました。

    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'));

});

私のindex.htmlには次のものがありました:

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

このリンクをクリックして、私のファイル構造を確認してください。 インジェクトは css ファイルを正しく作成していましたが、js ファイルは作成していませんでした。また、bower の依存関係も問題なく機能していました。

最後に、gulp.src() に渡された配列で欠落している「/」を見つけました。それを修正した後:

var injectSrc = gulp.src(['./public/css/*.css', './public/js/*.js'], {read: false});

それは正しく動作します。

于 2016-02-11T10:35:35.460 に答える