[英]gulp-rsync on Windows not Making Directory on Remote Linux Server
我已經完成了以下任務,將文件從Windows 10計算機傳輸到遠程Linux服務器。 但是,將使用反斜杠“ \\”反斜杠“ /”復制文件,導致文件名較長,例如“ js \\ myjs.js”,而不是在其中創建帶有“ myjs.js”的名為“ js”的文件夾。 我還沒有找到解決該問題的選項或開關。 有什么想法我做錯了嗎?
gulp.task('deploy', function() {
return gulp.src('dist/*/')
.pipe(rsync({
options: {
chmod: 'ugo=rwX',
'r': true,
'v': true,
'delete': true,
'verbose': true,
'progress': true
},
username: "user",
password: "pass",
hostname: 'host.com',
destination: '~/test/',
recursive: true,
clean: true,
root: "dist/"
}));
});
這個問題和解決方案被描述這里如下:
在gulp-rsync index.js中進行更改:
source: sources.map(function(source) {
return path.relative(cwd, source.path) || '.';
}),
至:
source: sources.map(function(source) {
var file_path = (path.relative(cwd, source.path) || '.').replace( /\\/g, '/')
// console.log( 'gulp-rsync source:', source.path, ', ret: ', file_path );
return file_path
}),
罪魁禍首是path.relative()。
gulp -rsync已經解決了這個問題。 要部署它,請執行以下操作:
npm remove -D gulp-rsync
npm install -D https://github.com/stcruy/gulp-rsync.git
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.