我正在学习Gulp,并想尝试将.css文件放在远程服务器上。我已经为此安装了乙烯基FTP。我的Gulp文件是这样的:
每当我运行ftp命令时,我都会收到一条消息ERROR Error: Timeout while connecting to server
。
我的gullfile.js文件是这样的:
'use strict';
var gulp = require('gulp');
var gutil = require( 'gulp-util' );
var ftp = require( 'vinyl-ftp' );
/** FTP Configuration **/
var user = 'myusername';
var password = 'password';
var host = '123.456.789.100'; //I have also tried 'ftp.mysite.com'
var port = 21;
var localFilesGlob = ['css/*.css'];
var remoteFolder = '/css'
// helper function to build an FTP connection based on our configuration
function getFtpConnection() {
return ftp.create({
host: host,
port: port,
user: user,
password: password,
parallel: 5,
log: gutil.log
});
}
gulp.task('ftp-deploy', function() {
var conn = getFtpConnection();
console.log(conn); //<--this seems to have the correct info
return gulp.src(localFilesGlob, { base: '.', buffer: false })
.pipe( conn.newer( remoteFolder ) ) // only upload newer files
.pipe( conn.dest( remoteFolder ) )
;
});
很明显,我已经检查了用户名和密码。我可以用我的FTP客户端很好地连接到服务器。
我还试着用"cwd"替换"base"。
我在Mac终端上运行这个,如果这很重要的话。
有人知道我做错了什么吗?
您的代码对我来说很好。我想这可能是passive/active
ftp模式的问题。这通常是ftps的原因。
你在FTP客户端上尝试了什么(你有主动模式还是被动模式?(。
显然vinyl-ftp
还不支持它,因为它在TODO列表中。
恐怕目前没有变通办法。