gulp 只能sftp上传文件吗?

不知道是我配置不对还是什么原因。我也没有找到仔细的gulp 上传文档说明,都是网上找来拼接的。目前sftp是能上传到服务器去的,但是我觉得这样不安全。只想ftp提交上去。但是一直报错。想问下你们的ftp是如何配置的?

GULP 文件

const gulp = require('gulp');
const path = require('path');
const config = require('./config');
const isEnv = process.env.NODE_ENV == 'production';

/**
 * 清除生产目录文件
 */
const del = require('del')
gulp.task('clean', ['upload'], function (callback) {
    console.log('## 已经成功部署到服务器上')
    console.log('## 清除原来编译的代码')
    del(['.' + config.publicPath], callback)
});

/**
 * 编译代码
 */
const webpack = require('webpack')
const webpackConfig = require('./webpack.config')
gulp.task('build', function (callback) {
    console.log('## 代码编译开始')
    webpack(webpackConfig, function (err, state) {
        console.log('## 代码编译完成')
        callback(err)
    })
});

/**
 * 编译代码,自动部署到服务器
 */
const ftp = require('gulp-sftp')
gulp.task('upload', ['build'], function (callback) {
    console.log('## 正在部署到服务器上')
    var dev = isEnv ? config.devDist : config.devTest
    gulp.src('.' + config.publicPath + '**')
        .pipe(ftp(Object.assign(dev, {callback})))
});

/**
 * 上传到测试服务器上
 */
gulp.task('devTest', ['build', 'upload', 'clean'])

/**
 * 上传到生产服务器上
 */
gulp.task('devDist', ['build', 'upload', 'clean'])

config 配置文件

/**
 * Created by truncate on 2017/3/20.
 * 配置FTP使用
 */
module.exports = {
    devTest: { //部署到测试服务器上
        remotePath: '/app/', //部署到服务器的路径
        host: '120.24.52.xx', //ip地址
        user: 'root', //帐号
        pass: "xx", //密码
        port: 22 //端口
    },
    devDist: { //部署正式服务器上
        remotePath: '/app/', //部署到服务器的路径
        host: '120.24.52.xx', //ip地址
        user: 'root', //帐号
        pass: "xx", //密码
        port: 22 //端口
    },
    publicPath: '/dist/', //程序编译好路径
    target: 'http://static.ycoto.cn/' //连接的服务器地址
}

以上的配置我在SFTP上传是没有问题的! 求FTP

阅读 2.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进