Javascript TypeError:无法读取属性';减少';使用ftp部署时未定义的

Javascript TypeError:无法读取属性';减少';使用ftp部署时未定义的,javascript,node.js,ftp,Javascript,Node.js,Ftp,当然,我正在尝试使用将一些文件部署到ftp服务器。我的文件如下所示: deploy.js var FtpDeploy = require("ftp-deploy"); var ftpDeploy = new FtpDeploy(); var config = { user: "myusername", password: "mypassword", host: "myipaddress", port: 21, localRoot: __dirname + "/", re

当然,我正在尝试使用将一些文件部署到ftp服务器。我的文件如下所示:

deploy.js

var FtpDeploy = require("ftp-deploy");
var ftpDeploy = new FtpDeploy();

var config = {
  user: "myusername",
  password: "mypassword",
  host: "myipaddress",
  port: 21,
  localRoot: __dirname + "/",
  remoteRoot: "/public_html/",
  include: ["index.html", "index.css", "assets/*"],
  deleteRoot: true
};

ftpDeploy
  .deploy(config)
  .then(res => console.log("Deployed successfully!"))
  .catch(err => console.log(err));
运行
warn deploy
时,出现以下错误:

Connected to: myipaddress
Connected: Server message: --------- Welcome to Pure-FTPd [privsep] [TLS] ----------
You are user number 2 of 50 allowed.
Local time is now 08:43. Server port: 21.This is a private system - No anonymous login
IPv6 connections are also welcome on this server.
You will be disconnected after 15 minutes of inactivity.
Failed undefined
TypeError: Cannot read property 'reduce' of undefined
    at canIncludePath (/Users/dean/Desktop/website/node_modules/ftp-deploy/src/lib.js:53:31)
    at handleItem (/Users/dean/Desktop/website/node_modules/ftp-deploy/src/lib.js:79:17)
    at Array.reduce (<anonymous>)
    at parseLocal (/Users/dean/Desktop/website/node_modules/ftp-deploy/src/lib.js:102:23)
    at handleItem (/Users/dean/Desktop/website/node_modules/ftp-deploy/src/lib.js:68:23)
    at Array.reduce (<anonymous>)
    at Object.parseLocal (/Users/dean/Desktop/website/node_modules/ftp-deploy/src/lib.js:102:23)
    at FtpDeployer.checkLocalAndUpload (/Users/dean/Desktop/website/node_modules/ftp-deploy/src/ftp-deploy.js:86:27)
    at lib.checkIncludes.then.then.then.then.config (/Users/dean/Desktop/website/node_modules/ftp-deploy/src/ftp-deploy.j
s:109:34)
    at tryCatcher (/Users/dean/Desktop/website/node_modules/ftp-deploy/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/Users/dean/Desktop/website/node_modules/ftp-deploy/node_modules/bluebird/js/re
lease/promise.js:512:31)    at Promise._settlePromise (/Users/dean/Desktop/website/node_modules/ftp-deploy/node_modules/bluebird/js/release/promi
se.js:569:18)
    at Promise._settlePromise0 (/Users/dean/Desktop/website/node_modules/ftp-deploy/node_modules/bluebird/js/release/prom
ise.js:614:10)    at Promise._settlePromises (/Users/dean/Desktop/website/node_modules/ftp-deploy/node_modules/bluebird/js/release/promise.js:693:18)    at Async._drainQueue (/Users/dean/Desktop/website/node_modules/ftp-deploy/node_modules/bluebird/js/release/async.js:133:16)
    at Async._drainQueues (/Users/dean/Desktop/website/node_modules/ftp-deploy/node_modules/bluebird/js/release/async.js:143:10)
    at Immediate.Async.drainQueues (/Users/dean/Desktop/website/node_modules/ftp-deploy/node_modules/bluebird/js/release/
async.js:17:14)
    at runCallback (timers.js:789:20)
    at tryOnImmediate (timers.js:751:5)
    at processImmediate [as _immediateCallback] (timers.js:722:5)
✨  Done in 0.54s.
deans-imac:website dean$
已连接到:myipaddress
已连接:服务器消息:------------欢迎使用纯FTPd[privsep][TLS]----------
您是允许的50个用户中的2个。
当地时间现在是08:43。服务器端口:21。这是一个私有系统-无匿名登录
此服务器上也欢迎使用IPv6连接。
您将在15分钟不活动后断开连接。
未定义失败
TypeError:无法读取未定义的属性“reduce”
在canIncludePath(/Users/dean/Desktop/website/node_modules/ftp deploy/src/lib.js:53:31)
在handleItem(/Users/dean/Desktop/website/node_modules/ftp deploy/src/lib.js:79:17)
在Array.reduce()处
在parseLocal(/Users/dean/Desktop/website/node_modules/ftp deploy/src/lib.js:102:23)
在handleItem(/Users/dean/Desktop/website/node_modules/ftp deploy/src/lib.js:68:23)
在Array.reduce()处
在Object.parseLocal(/Users/dean/Desktop/website/node_modules/ftp deploy/src/lib.js:102:23)
在FtpDeployer.checkLocalAndUpload(/Users/dean/Desktop/website/node_modules/ftp deploy/src/ftp deploy.js:86:27)
在lib.checkIncludes.then.then.then.config(/Users/dean/Desktop/website/node_modules/ftp deploy/src/ftp deploy.j
(s:109:34)
在tryCatcher(/Users/dean/Desktop/website/node_modules/ftp deploy/node_modules/bluebird/js/release/util.js:16:23)
承诺。_结算推荐自Handler(/Users/dean/Desktop/website/node_modules/ftp deploy/node_modules/bluebird/js/re
lease/promise.js:512:31)在promise.结算promise(/Users/dean/Desktop/website/node\u modules/ftp deploy/node\u modules/bluebird/js/release/promi)
se.js:569:18)
承诺。_结算推荐0(/Users/dean/Desktop/website/node_modules/ftp deploy/node_modules/bluebird/js/release/prom
ise.js:614:10)在Promise.在Async.在drainQueue(/Users/dean/Desktop/website/node\u modules/ftp deploy/node\u modules/bluebird/js/release/Promise.js:693:18)在Async.在drainQueue(/Users/dean/Desktop/website/node\u modules/ftp deploy/node\u modules/bluebird/js/release/Async.js:133:16)上进行结算
在Async.\u drainQueues(/Users/dean/Desktop/website/node\u modules/ftp deploy/node\u modules/bluebird/js/release/Async.js:143:10)
在Immediate.Async.drainQueues(/Users/dean/Desktop/website/node_modules/ftp deploy/node_modules/bluebird/js/release/
async.js:17:14)
运行时回调(timers.js:789:20)
在tryOnImmediate(timers.js:751:5)
在processImmediate[as_immediateCallback](timers.js:722:5)
✨  在0.54秒内完成。
院长imac:网站院长$

这是我做错了什么,还是他们的软件包中出现了错误?

查看
ftp部署
的源代码,似乎
exclude
可能是必需的配置项。似乎他们正在调用
reduce
,而没有测试它是否存在。我会尝试向配置中添加一个空的exclude:[],看看这是否有帮助

var config = {
  user: "myusername",
  password: "mypassword",
  host: "myipaddress",
  port: 21,
  localRoot: __dirname + "/",
  remoteRoot: "/public_html/",
  include: ["index.html", "index.css", "assets/*"],
  exclude: [],                                     // <-- add this
  deleteRoot: true
};
var配置={
用户:“我的用户名”,
密码:“我的密码”,
主持人:“myipaddress”,
港口:21,
localRoot:_dirname+“/”,
remoteRoot:“/public\u html/”,
包括:[“index.html”、“index.css”、“assets/*”],

排除:[],//确实是这个问题!非常感谢