javascript - TextEncoder 未定义。使用 nodejs 在 wsl2 上连接到 MongoDB

标签 javascript node.js mongodb express mongoose

我正在尝试让一个简单的 MERN 应用程序在 Ubuntu wsl2 实例上运行。我正在关注这个 guide .这是我在 server.js 中的代码(它与指南中的代码略有不同,因为不推荐使用 body-parser。使用此 post 中的建议我更改了这些方法)。

const express = require("express");
const mongoose = require("mongoose");

// Setup express app
const app = express();

app.use(
    express.urlencoded({
        extended: false
    })
);

app.use(express.json());

// Configure Mongo
const db = "mongodb://localhost/313-demo-mern-db";

// Connect to Mongo with Mongoose
mongoose
    .connect(
        db,
        { useNewUrlParser: true }
    )
    .then(() => console.log("Mongo connected"))
    .catch(err => console.log(err));

// Specify the Port where the backend server can be accessed and start listening on that port
const port = process.env.PORT || 5000;
app.listen(port, () => console.log(`Server up and running on port ${port}.`));
我有一个 MongoDB 数据库正在运行,它当前正在“等待端口 27017 上的连接”。我运行命令 node server.js并得到错误。
/home/NAME/learnreact/MERN-demo/node_modules/whatwg-url/dist/encoding.js:2
const utf8Encoder = new TextEncoder();
                    ^

ReferenceError: TextEncoder is not defined
    at Object.<anonymous> (/home/NAME/learnreact/MERN-demo/node_modules/whatwg-url/dist/encoding.js:2:21)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/home/NAME/learnreact/MERN-demo/node_modules/whatwg-url/dist/url-state-machine.js:5:34)
    at Module._compile (internal/modules/cjs/loader.js:778:30)

最佳答案

I was having the same error today. Updating the node to latest version fixed the issue for me.

You may refer https://askubuntu.com/a/480642/1267099 for updating node.



编辑:更新到最新版本(不是当前稳定版)

关于javascript - TextEncoder 未定义。使用 nodejs 在 wsl2 上连接到 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69067799/

相关文章:

javascript - 每个 Node 调用是否运行自己的 Node 版本

javascript - 为什么显示函数未定义?它确实将结果记录在控制台中,我只是想列出名字

node.js - MongoDB 和 NodeJS 中的敏感数据分离 - 通过加密 key 引用

php - 将字段名称列入白名单以防止恶意数据操纵?

c# - MongoDb c# 驱动程序 2.0 查询样式

javascript - 加载后如何使用 JavaScript 调整 Google map 的大小?

javascript - 按 esc 键或随机单击鼠标时 Jcrop 失去焦点

JavaScript - iScroll - mousedown 不触发

javascript - nodemon 显示 es16 错误

node.js - 使用 create 方法对预先加载进行 Sequelize