我正在尝试使用mongodb,因此安装了mongoose包
但问题是当我这样写的时候
const express = require("express");
const dotenv = require("dotenv");
const mongoose = require("mongoose"); //getting error here
它显示了这样的错误
const utf8Encoder = new TextEncoder();
^
ReferenceError: TextEncoder is not defined
如果我评论mongoose线,我没有得到任何错误,但我需要使用这个,即使我检查了我的节点版本16.5.0,我试图寻找一个老职位发生同样的错误,但它无法理解我有任何帮助?旧职位链接enter link description here
如何修复此错误
7条答案
按热度按时间6kkfgxo01#
在node_modules〉whatwg-url〉dist中打开encoding.js文件夹
并编写这些代码
代替
你所缺少的就是这一小部分,包括utils
dvtswwa32#
这在我的小脚本文件的顶部对我起作用。
hrirmatl3#
这是
node.js
版本的兼容性问题,请升级node.js版本,然后重新安装节点包。升级您的版本:
v16.14.2
建议不要修改
node_modules
文件夹中的文件您可以使用NVM来管理多个node.js版本,以下是安装指南:https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-20-04
wixjitnu4#
打开node_modules中的encoding.js文件夹
1.打开节点模块
1.找到whawg-url文件夹并打开。
1.搜索dist文件夹-在那里,您将找到encoding.js文件夹
1.通过VS代码或您选择的任何IDE打开。
替换以下代码行
用这个
那你可以走了。
nukf8bse5#
这似乎是旧节点版本的问题。您需要使用最新节点。如果您使用
nvm
类型注意:要使用
nvm
下载最新节点,请使用以下命令cxfofazt6#
这是因为您使用的是旧版本的node,如果您使用apt install node安装node,则会得到旧版本。因此,您需要升级到最新版本的node。
jvidinwx7#
您只需要package.json中的库的兼容节点版本。我遇到了相同的错误,我犯的错误是,我使用nvm,我运行
npm install
与节点v12.x.x
出于某种原因nvm没有设置当前版本,它设置v10.x.x
当我返回到项目文件夹。如果你使用nvm,并且你想在进入工程文件夹时自动设置工程节点版本,只要按照这个说明操作即可。