错误代码:10021,错误消息:“未捕获的TypeError:n(...)。connect不是函数”

时间:2019-03-06 14:01:59

标签: node.js webpack mongoose serverless cloudflare-workers

我正在尝试对Cloudflare工作者使用猫鼬包。 webpack之后使用无服务器部署进行部署时,出现此错误消息。

Serverless: Packaging service...
Serverless: Excluding development dependencies...
Serverless: deploying route: example.com/api
Serverless: ❌  Fatal Error, Script Not Deployed!
Serverless: --> Error Code:10021
--> Error Message: "Uncaught TypeError: n(...).connect is not a function
at line 950
at line 1 in n
at line 1
at line 1
"
Serverless: ✅  Routes Deployed 

在线950

n(83).connect("mongodb://localhost/db",........

我的主要代码是

addEventListener("fetch", event => {
  event.respondWith(handleRequest(event.request));
});
const mongoose = require("mongoose");
mongoose.connect("mongodb://localhost/db", {
  useNewUrlParser: true
});

async function handleRequest(r) {
  return new Response(r);
}

我也尝试过mongodb软件包。 出现同样的问题。

1 个答案:

答案 0 :(得分:0)

这些程序包假定您在Node.js上运行,并且使用Node.js API。 Cloudflare Workers不是基于Node.js。相反,它实现了Web平台API的子集,尤其是Service Workers API。

目前,您无法从Worker创建TCP连接,因此无法直接连接到Mongo Server。相反,您将需要使用fetch() API将数据库查询表达为HTTP请求。