我实际上在今天的工作中找到了解决此问题的方法。这可能不是最好的方法,但是可以。
在gulp build
任务结束时,您可以使用version.txt
包创建一个gulp-file
文件:
function deploy_version(dist_path) {
let uniqueVersion = Date.now() + ( (Math.random() * 100000).toFixed());
return gulp.src('src/**')
.pipe(file('version.txt',uniqueVersion.toString()))
.pipe(gulp.dest(theme_path + dist_path));
}
在构建完成后调用此函数,如下所示:
// build app.min.css
gulp.task('build-custom-css',function () {
// ...
// building stuff...
deploy_version('assets/css/dist/');
});
这样,JS和CSS生产dist文件夹的dist文件夹中就有一个version.txt
文件。内容像一个唯一的数字,例如157295773737144587
。
现在在functions.php
中,我们可以像这样简单地将版本加载到$version
变量中:
$version = file_get_contents( get_template_directory_uri() . '/assets/css/dist/version.txt' );
wp_enqueue_style( 'app.min',get_template_directory_uri() . '/assets/css/dist/app.min.css',array(),$version );
通过上载dist
文件之类的新构建文件来app.min.css
文件夹。我们还上传了version.txt
文件,其中包含新的唯一版本号。这样,浏览器将被迫自动重新加载css文件。
本文链接:https://www.f2er.com/3160371.html