用乙烯基ftp gulp:如何指定不同的目录名?
我正在使用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 /”,然后将乙烯基ftp的目标设置为服务器ROOT,但我更喜欢将问题分开并保留名称“dist /”用于本地构建.
您对如何将本地dist /文件夹的内容传输到远程www /文件夹有任何想法吗?
解决方法:
尝试将您的基地设置为./dist/:
return gulp.src( globs, {base: './dist/', buffer: false } )
.pipe( conn.differentSize( 'www/' ) )
.pipe( conn.dest( 'www/' ) );
根据the API documentation和一些模糊的记忆,这个标志恰好就是这种情况.