我正在学习Gulp,并且想要尝试将.css文件放在远程服务器上。我已经为此安装了Vinyl 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 Terminal中运行它。
有人会知道我做错了吗?
答案 0 :(得分:0)
您的代码对我来说不错。我的猜测可能是passive/active
ftp模式的问题。这通常是ftps的原因。
您对FTP客户端做了什么尝试(您是处于主动还是被动模式?)。
显然vinyl-ftp
尚不支持它,就像DocumentElement
上一样。
目前恐怕还有TODO list。