Gulp Vinyl-FTP超时

时间:2018-07-15 05:36:12

标签: ftp gulp vinyl-ftp

我正在学习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中运行它。

有人会知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

您的代码对我来说不错。我的猜测可能是passive/active ftp模式的问题。这通常是ftps的原因。

您对FTP客户端做了什么尝试(您是处于主动还是被动模式?)。

显然vinyl-ftp尚不支持它,就像DocumentElement上一样。

目前恐怕还有TODO list