gpt4 book ai didi

javascript - Windows 上的 gulp-rsync 不在远程 Linux 服务器上创建目录

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:48:10 25 4
gpt4 key购买 nike

我得到了以下 gulp 任务,将文件从 Windows 10 机器传输到远程 Linux 服务器。但是,复制文件时使用反斜杠“\”副正斜杠“/”,导致文件名很长,例如“js\myjs.js”,而不是创建一个名为“js”的文件夹,其中包含“myjs.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/"
}));
});

最佳答案

描述了这个问题和解决方案 here如下:

In gulp-rsync index.js change:

  source: sources.map(function(source) {
return path.relative(cwd, source.path) || '.';
}),

to:

  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() is the culprit.

更好的解决方案..

已经有一个stcruy's fork gulp-rsync 解决这个问题。要部署它,请执行以下操作:

npm remove -D gulp-rsync
npm install -D https://github.com/stcruy/gulp-rsync.git

关于javascript - Windows 上的 gulp-rsync 不在远程 Linux 服务器上创建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34667753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com