Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 错误[ERR\U REQUIRE\U ESM]:必须使用导入在express中加载ES模块_Node.js_Express - Fatal编程技术网

Node.js 错误[ERR\U REQUIRE\U ESM]:必须使用导入在express中加载ES模块

Node.js 错误[ERR\U REQUIRE\U ESM]:必须使用导入在express中加载ES模块,node.js,express,Node.js,Express,每次运行express文件时都会出现此错误 错误[ERR\U REQUIRE\U ESM]:必须使用导入加载ES模块: F:\MERN\backend\index.js at Object.Module._extensions..js(internal/modules/cjs/loader.js:1174:13) at Module.load(内部/modules/cjs/loader.js:1002:32) 在Function.Module.\u load(内部/modules/cjs/loa

每次运行express文件时都会出现此错误

错误[ERR\U REQUIRE\U ESM]:必须使用导入加载ES模块: F:\MERN\backend\index.js at Object.Module._extensions..js(internal/modules/cjs/loader.js:1174:13) at Module.load(内部/modules/cjs/loader.js:1002:32) 在Function.Module.\u load(内部/modules/cjs/loader.js:901:14)
在Function.executeUserEntryPoint[作为runMain](internal/modules/run_main.js:74:12) 在internal/main/run_main_module.js:18:47{code:'ERR_REQUIRE_ESM'}

index.js文件如下所示:

import express from "express";
import bodyParser from 'body-parser';
import mongoose from 'mongoose';
import cors from 'cors';

const app = express();

app.use(bodyParser.json({ limit: "30mb", extended: true }))
app.use(bodyParser.urlencoded({ limit: "30mb", extended: true }))
app.use(cors());

const CONNECTION_URL = "mongoose connection url";
const PORT = process.env.PORT|| 5000;

mongoose.connect(CONNECTION_URL, { useNewUrlParser: true, useUnifiedTopology: true })
    .then(() => app.listen(PORT, () => console.log(`Server running on port: ${PORT}`)))
    .catch((error) => console.log(error.message));

mongoose.set('useFindAndModify', false);
我还添加了

“类型”:“模块”

在package.json文件中,但错误仍然存在。这是package.json文件

{
  "name": "backend",
  "version": "1.0.0",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "start": "nodemon index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.19.0",
    "cors": "^2.8.5",
    "express": "^4.17.1",
    "mongoose": "^5.12.7",
    "nodemon": "^2.0.7"
  },
  "devDependencies": {},
  "description": ""
}
我尝试过重命名索引文件,但这个错误似乎也没有解决。 这是否与正在运行的节点版本有关。我目前正在节点版本12.16.1上运行此功能

编辑:通过更新到节点的最新版本解决了错误