Gulp4 报错 TypeError: file.pipe is not a function

发布于 2022-09-12 00:08:53 字数 1610 浏览 30 评论 0

/\*\*

 \* @file Gulp配置

 \*/

'use strict'

letgulp = require('gulp')

letsftp = require('gulp-sftp')

letserverConfig = require('./sftp.config')

  

gulp.task('server-deploy', () \=> {

returngulp.src(\['dist/\*\*/\*', 'dist/\*.html'\]).pipe(

sftp({

host:serverConfig.host,

user:serverConfig.ssh.userName,

port:serverConfig.ssh.port,

pass:serverConfig.ssh.password,

remotePath:serverConfig.ssh.path

    })

  )

})

  

// 部署到服务器

gulp.task('deploy', gulp.series(

'server-deploy',

  () \=> {

console.log('Your application is deploying to server successfully')

  }))

在Gulp自动化部署的过程中遇到报错:

TypeError: file.pipe is not a function
    at D:\Users\Administrator\Desktop\Vue-Blog\node_modules\gulp-sftp\index.js:275:22
    at Object.async.whilst (D:\Users\Administrator\Desktop\Vue-Blog\node_modules\gulp-sftp\node_modules\async\lib\async.js:683:13)
    at D:\Users\Administrator\Desktop\Vue-Blog\node_modules\gulp-sftp\index.js:238:19
    at D:\Users\Administrator\Desktop\Vue-Blog\node_modules\gulp-sftp\index.js:147:17
    at SFTP.<anonymous> (D:\Users\Administrator\Desktop\Vue-Blog\node_modules\ssh2\lib\Connection.js:859:9)
    at Object.onceWrapper (events.js:308:28)
    at SFTP.emit (events.js:219:5)
    at SFTP.EventEmitter.emit (domain.js:482:12)
    at SFTP._parse (D:\Users\Administrator\Desktop\Vue-Blog\node_modules\ssh2\lib\SFTP\SFTPv3.js:1059:16)
    at ChannelStream.<anonymous> (D:\Users\Administrator\Desktop\Vue-Blog\node_modules\ssh2\lib\SFTP\SFTPv3.js:72:10)

Gulp版本为Gulp4,请大佬们指教!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吻安 2022-09-19 00:08:53

gulp4和sftp不太搭,如果用gulp只是用来上传文件,可以使用gulp3。此外,gulp3升级gulp4后,API需要调整。

// gulp3
// "gulp": "^3.9.1","gulp-sftp": "^0.1.5",
const gulp = require('gulp')
const sftp = require('gulp-sftp')
gulp.task('upload', function (callback) {
  console.log('## 正在部署到服务器上')
  var dev = isEnv ? config.devDist : config.devTest
  gulp.src('.' + config.distPath + '**')
    .pipe(sftp(Object.assign(dev, {callback})))
})
gulp.task('devTest', ['upload'])
//gulp4
//"gulp": "^4.0.1","gulp-sftp-up4": "^0.1.8",
const gulp = require('gulp')
const sftp = require('gulp-sftp-up4');

gulp.task('upload',  function (callback) {
  console.log('## 正在部署到服务器上')
  var dev = isEnv ? config.devDist : config.devTest
  console.log(config.distPath)
  gulp.src('.' + config.distPath + '**')
    .pipe(sftp(Object.assign(dev, {callback})))
})
gulp.task('devTest', gulp.series(['upload', 'clean']))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文