我正在学习Gulp,并想尝试将我的.css文件放在远程服务器上。我已经为此安装了乙烯基FTP。我的Gulp文件是这样的:
每当我运行ftp命令时,我都会收到一条消息ERROR Error: Timeout while connecting to server。
我的gulpfile.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客户端服务器。
我也试过把'base‘换成'cwd’。
我在Mac终端上运行这个,如果这很重要的话。
有人知道我做错了什么吗?
发布于 2018-07-24 15:51:08
你的代码在我看来没问题。我猜可能是passive/active ftp模式的问题。这通常是ftps的原因。
你用FTP客户端做了什么尝试(你有主动模式还是被动模式?)
显然,vinyl-ftp还不支持它,因为它在TODO list上。
恐怕现在有no workaround了。
https://stackoverflow.com/questions/51345556
复制相似问题