Gulp and FTP : 如何只传输一个文件夹的内容?
Gulp and FTP : How to transfer only the content of a folder?
Gulp with vinyl ftp : 如何指定不同的目录名称?
我正在使用 vinyl-ftp 和 gulp 将本地 dist/
目录推送到远程生产服务器。
我的本地准备生产目录名称是“dist
”,我希望将其所有内容推送到服务器上的“www
”目录中。
密码是:
gulp.task( 'deploy:prod', ['build:dist'], function() {
var conn = ftp.create( {
host: 'ftp.website.com',
user: 'username',
password: 'password'
} );
var globs = ['./dist/**'];
return gulp.src( globs, {base: '.', buffer: false } )
.pipe( conn.differentSize( 'www/' ) )
.pipe( conn.dest( 'www/' ) );
} );
如您所见,我试图通过定位 './dist/**'
来仅获取 dist/
的内容,但传输完成后,我得到的路径是:/www/dist/
。
一种解决方法是将我的“dist/
”文件夹重命名为“www/
”,然后将 vinyl ftp 的目标设置为服务器 ROOT,但我更愿意将关注点分开并为我的本地构建保留名称“dist/
”。
关于如何将本地 dist/
文件夹的内容传输到远程 www/
文件夹,您有什么想法吗?
尝试将您的 base
设置为 ./dist/
:
return gulp.src( globs, {base: './dist/', buffer: false } )
.pipe( conn.differentSize( 'www/' ) )
.pipe( conn.dest( 'www/' ) );
根据 the API documentation 和一些模糊的记忆,这个标志正是针对这种情况。
Gulp with vinyl ftp : 如何指定不同的目录名称?
我正在使用 vinyl-ftp 和 gulp 将本地 dist/
目录推送到远程生产服务器。
我的本地准备生产目录名称是“dist
”,我希望将其所有内容推送到服务器上的“www
”目录中。
密码是:
gulp.task( 'deploy:prod', ['build:dist'], function() {
var conn = ftp.create( {
host: 'ftp.website.com',
user: 'username',
password: 'password'
} );
var globs = ['./dist/**'];
return gulp.src( globs, {base: '.', buffer: false } )
.pipe( conn.differentSize( 'www/' ) )
.pipe( conn.dest( 'www/' ) );
} );
如您所见,我试图通过定位 './dist/**'
来仅获取 dist/
的内容,但传输完成后,我得到的路径是:/www/dist/
。
一种解决方法是将我的“dist/
”文件夹重命名为“www/
”,然后将 vinyl ftp 的目标设置为服务器 ROOT,但我更愿意将关注点分开并为我的本地构建保留名称“dist/
”。
关于如何将本地 dist/
文件夹的内容传输到远程 www/
文件夹,您有什么想法吗?
尝试将您的 base
设置为 ./dist/
:
return gulp.src( globs, {base: './dist/', buffer: false } )
.pipe( conn.differentSize( 'www/' ) )
.pipe( conn.dest( 'www/' ) );
根据 the API documentation 和一些模糊的记忆,这个标志正是针对这种情况。