0

我正在尝试将 gulp-inject 添加到我的 Laravel 代码库中,并且我需要使用路径注入我的样式文件/styles/b/app.min.css,因为 Laravel 将它的 Blade Views 编译为它自己的 HTML 文件,所以我必须在其中进行任何 gulp 更改刀片视图而不是编译视图...

问题是,每当我运行我的任务并尝试注入文件时,它都会按如下方式注入文件

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

这显然破坏了实际视图,因为当我浏览到它已经在公共目录中的页面时,公共目录是我项目的 webroot,所以它试图在里面找到 app.min.csspublic/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))

文档对于这到底是做什么的不是很具体,但我认为它是为了在注入之前从我的路径中删除“公共/”字符串,但它没有这样做......无论是否设置了该选项视图中返回的路径始终相同...

在这种情况下我能做什么?

4

1 回答 1

0

我发现了问题,而不是在我的 inject() 中使用 gulp.src 我从我的样式任务中发送流,这增加了另一个问题,因为现在注入发生在样式任务完成之前,但这是另一个问题,基本上解决方案是 ignorePath 将不起作用,除非您使用 gulp.src

于 2016-07-09T16:46:43.773 回答