【发布时间】:2017-01-22 04:09:59
【问题描述】:
我编写了一个 gulp 任务来重命名文件,以便对它们进行版本控制。问题是index.html 脚本引用的文件的文件名没有改变。
例如在我的index.html:
<script src=pub/main_v1.js"></script>
但如果你真的通过构建文件夹导航到子目录pub,你会发现main.js。
这是自定义的 gulp 任务:
const gulpConcat = require('gulp-concat');
const gulpReplace = require('gulp-replace');
const version = require('./package.json').version;
gulp.task('version', function () {
var vsn = '_' + version + '.js';
gulp.src('scripts/**/*.js')
.pipe(gulpConcat(vsn))
.pipe(gulp.dest('./prodBuild'));
return gulp.src('./prodBuild/index.html', { base: './prodBuild' })
.pipe(gulpReplace(/* some regex */, /* append vsn */))
.pipe(gulp.dest('./prodBuild'));
});
我需要修复/添加什么以使原始文件名更改以匹配脚本标记中的内容?
注意:根据 gulp-concat docs,我应该能够在prodBuild/[vsn] 找到连接文件,其中[vsn] 是_v1.js。但是,它在哪里找不到。
更新:文件在index.html 中正确重命名,但我似乎无法重命名原始文件。这是我的构建目录的快照:
prodBuild/
pub/
main.js
someDir/
subDirA/
// unimportant stuff
subDirB/
file2.js
file3.js
// ...other files and folders...
【问题讨论】:
标签: javascript caching build gulp