0

Laravel コードベースに gulp-inject を追加しようとしていますが、スタイル ファイルにパス/styles/b/app.min.cssthis を挿入する必要があります。これは、Laravel が独自に Blade ビューを HTML ファイルにコンパイルするためです。コンパイルされたビューではなく、ブレードビュー...

問題は、タスクを実行してファイルを挿入しようとするたびに、次のように挿入されることです

<!-- inject:css -->
<link rel="stylesheet" href="/public/styles/app.min.css">
<!-- endinject -->

ページを参照すると、すでに public ディレクトリにあり、 public ディレクトリはプロジェクトの webroot であるため、実際のビューでは明らかに壊れています。public/public

への参照を無視する必要があるため、次のようにpublic/使用してみましたignorePath

return gulp.src(config.paths.viewsDirectory + argv.version + '/index.blade.php')
    .pipe(inject(stylesStream), { ignorePath: ['public/'] })
    .pipe(gulp.dest(config.paths.viewsDirectory + argv.version))

ドキュメントは、これが正確に何をするかについてあまり具体的ではありませんが、挿入する前にパスから 'public/' 文字列を削除することを意図していると思いますが、それは行っていません...そのオプションが設定されているかどうかに関係なく、ビューで返されるパスは常に同じです...

この状況で何ができますか?

4

1 に答える 1

0

スタイルタスクからストリームで送信していた inject() 内で gulp.src を使用する代わりに、問題を理解しました。これにより、スタイルタスクが完了する前に注入が行われるため、別の問題が追加されますが、それは別の問題です。基本的に解決策は、gulp.src を使用しない限り ignorePath が機能しないことです。

于 2016-07-09T16:46:43.773 に答える