解决:
我构建了一个 gulp 插件来解决这个问题......
https://www.npmjs.com/package/gulp-mtime-correction
我遇到的问题是我使用 Vinyl-FTP 和 Gulp-Newer 的 gulp 任务似乎没有注意到我的文件中的更改,因此没有通过 FTP 发送更改。
所以这里是 gulpfile.js 中的 FTP gulp 设置/任务
// FTP settings
const FTP = {
connOpts : {
host : 'ftp.****.co.uk',
user : '****',
password : '*****',
parallel : 10,
log : gutil.log
},
directoryPath : FTPDirectoryPath,
src : dir.build + '**/*',
base : dir.build
};
// ftp deployment to live site
gulp.task( 'deploy', () => {
var conn = ftp.create( FTP.connOpts );
return gulp.src( FTP.src , { base: FTP.base, buffer: false } )
.pipe( conn.newer( FTP.directoryPath ) ) // only upload newer files
.pipe( conn.dest( FTP.directoryPath ) );
} );
因为我正在写一个 wordpress 主题,所以 FTPDirectoryPath 指向 ' etc /wp-content/themes/themename' 目录。我很确定它设置正确,因为它确实正确更新了全新的文件
我不知道这是 Vinyl-FTP 还是 Gulp-Newer 的问题,但由于某种原因,这个 FTP 任务没有注意到 main.css 已更新。
请帮忙!!
更新:
所以我发现这是一个时区问题。服务器在英国,但我在巴拿马(晚了 6 小时),所以服务器上的文件总是比 gulp-newer 更新(比较上次编辑时间),除非我没有更新它们6个小时。
有谁知道无需更改笔记本电脑时钟的解决方法?我可以在本地或服务器上手动更新文件的时间戳,还是有一个可以处理这个问题的 gulp 扩展?
谢谢!