Gulp Vinyl FTP с использованием Gulp newer не замечает изменений в файлах и поэтому не развертывает UPDATE: ВЫПУСК ВРЕМЕННОЙ ЗОНЫ
ПОСТАНОВИЛИ:
Я создал плагин Gulp, чтобы решить проблему...
https://www.npmjs.com/package/gulp-mtime-correction
У меня проблема в том, что моя задача gulp с использованием Vinyl-FTP и Gulp-Newer, похоже, не замечает изменений в моих файлах и, следовательно, не отправляет изменения через FTP.
Итак, вот настройки / задачи FTP gulp в gulpfile.js
// 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, которое может справиться с этим?
Спасибо!
0 ответов
Я сделал этот пакет npm как решение. Это было 2 года назад, так что дайте мне знать, если у вас возникнут проблемы с этим, или не стесняйтесь устраивать пиар:)
Вы можете использовать его, чтобы просто настроить mtime файла (время последней модификации) до и после проверки, которую вы используете, создавая впечатление, что вы находитесь в другом часовом поясе.