gpt4 book ai didi

node.js - gulp-rev-replace 没有更改我的 master.blade.php 中修改后的文件名

转载 作者:搜寻专家 更新时间:2023-10-31 23:09:18 28 4
gpt4 key购买 nike

我一直在尝试在 Laravel 项目中使用 gulp 创建一个构建系统,现在唯一剩下的问题是重命名我的 master.blade.php 文件中的正确文件名。就像现在一样,它只遵循 gulp-useref 中提供的文件名。参数,但由 gulp-rev 修订的文件未被 gulp-rev-replace 取代.

这是我的 gulp 任务:

gulp.task('build', ['clean', 'scss', 'js', 'master'], function() {

var assets,
jsFilter = $.filter('**/*.js'),
cssFilter = $.filter('**/*.css');

return gulp.src('app/views/layouts/master.blade.php')
.pipe(assets = $.useref.assets({searchPath: '/'}))

.pipe(jsFilter)
.pipe($.uglify())
.pipe(jsFilter.restore())

.pipe(cssFilter)
.pipe($.csso())
.pipe(cssFilter.restore())

.pipe($.rev())
.pipe(assets.restore())
.pipe($.useref())
.pipe($.revReplace())

.pipe($.rename(function(path) {
if(path.extname === '.php') {
path.dirname = 'app/views/layouts';
} else {
path.dirname = 'public/assets';
}
}))

.pipe(gulp.dest('./'))
.pipe($.size({title: 'build files', showFiles: true}))

.on('end', function() {
setTimeout(function() {
// force watchify to close all watchers
process.exit();
});
});

});

默认的 master.blade.php 看起来像这样:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{$title}}</title>

<!-- build:css assets/index.css -->
<!-- bower:css -->
<link rel="stylesheet" href="/bower_components/components-font-awesome/css/font-awesome.css" />
<!-- endbower -->
<link rel="stylesheet" href="/.tmp/index.css">
<!-- endbuild -->
</head>
<body>

<section id="container">
<header>
@include('layouts.navbar')
</header>
<aside>
@include('layouts.sidebar')
</aside>
<section>
@yield('content')
</section>
<footer>
@include('layouts.footer')
</footer>
</section>

<!-- build:js assets/index.js -->
<!-- bower:js -->
<script src="/bower_components/jquery/dist/jquery.js"></script>
<script src="/bower_components/lodash/dist/lodash.compat.js"></script>
<!-- endbower -->
<script src="/.tmp/index.js"></script>
<!-- endbuild -->

</body>
</html>

尽管有 gulp-rev-replace 管道,结果总是看起来像这样。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{$title}}</title>

<link rel="stylesheet" href="assets/index.css">
</head>
<body>

<section id="container">
<header>
@include('layouts.navbar')
</header>
<aside>
@include('layouts.sidebar')
</aside>
<section>
@yield('content')
</section>
<footer>
@include('layouts.footer')
</footer>
</section>

<script src="assets/index.js"></script>

</body>
</html>

最佳答案

我发现了问题,gulp-rev-replace 文档提到他们只替换扩展名为 ['.js', '.css', '.html', '.hbs'] 默认情况下。通过在 replaceInExtensions 中传递 ['.php']选项。

关于node.js - gulp-rev-replace 没有更改我的 master.blade.php 中修改后的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27957809/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com