Node.js (节点:9511)实验警告:ESM模块加载程序是实验性的

Node.js (节点:9511)实验警告:ESM模块加载程序是实验性的,node.js,ecmascript-6,import,require,Node.js,Ecmascript 6,Import,Require,我正在尝试在服务器端使用ES6。我已将端点与服务器文件分离: archive.js: import { Router } from "express"; const router = Router(); router.get("/", async (req, res) => { "some code"}); export default router; 当我想像这样将其导入服务器文件时: import archive fro

我正在尝试在服务器端使用ES6。我已将端点与服务器文件分离:

archive.js:

import { Router } from "express";
const router = Router();

router.get("/", async (req, res) => { "some code"});

export default router;
当我想像这样将其导入服务器文件时:

import archive from "./endpoints/archive.js";
app.use("/archive", archive);
这给了我一个错误:

(节点:9565)实验警告:ESM模块加载程序是实验性的。 内部/modules/run_main.js:54 internalBinding('errors')。triggerUncaughtException()


有什么想法吗,伙计们?我不想回到require/module.exports这是我从github repo中提取的一个新目录。我尝试了很多方法/解决方案,但结果我不得不克隆到一个新的目录/环境。
找不到问题或正确的修复方法,但在新的目录/环境中,我没有这个问题。

您可以使用Node v14.12.0;这个问题在哪里解决,请阅读此文档

nodejs的哪个版本?默认情况下,
.js
文件假定为CommonJS文件,而不是ESM模块,除非您在package.json文件中对其进行了适当的标记。通过将ESM模块设置为
.mjs
文件,而不是
.js
文件,可以更容易地让ESM模块工作,因为加载程序假定任何
.mjs
文件都是ESM模块。此警告/错误发生在哪个文件中?我的package.json中有type:module,并且在我使用导入/导出的每个js文件中都没有任何问题。只有这一行有问题:从“/endpoints/archive.js”节点版本:v12.18.3导入存档