我正在尝试对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软件包。 出现同样的问题。
答案 0 :(得分:0)
这些程序包假定您在Node.js上运行,并且使用Node.js API。 Cloudflare Workers不是基于Node.js。相反,它实现了Web平台API的子集,尤其是Service Workers API。
目前,您无法从Worker创建TCP连接,因此无法直接连接到Mongo Server。相反,您将需要使用fetch()
API将数据库查询表达为HTTP请求。