(节点:9511)实验警告:ESM模块加载程序处于实验状态



我正在尝试在服务器端使用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模块加载程序处于实验状态。internal/modules/run_main.js:54internalBinding('errors'(.trigerUnaughtException((

知道吗,伙计们?我不想回去要求/module.exports

您可以使用Node v14.12.0;在哪里解决了这个问题,并阅读此文档https://nodejs.org/api/esm.html#esm_package_json_type_field

经过几次尝试,我意识到&quot--实验模块";";nodemon";导致在整个应用程序中实现导入的问题,所以我确实更新了该标志,将新标志用于显式文件名"--es模块说明符resolution=node";现在工作得很完美。下面是一篇关于这面新国旗的文章:https://nodejs.medium.com/announcing-a-new-experimental-modules-1be8d2d6c2ff

因此,对于解释,你可以做这样的脚本:

nodemon --es-module-specifier-resolution=node

还要记住,您使用的nodejs版本是12.8X、14.7X以下的版本或最后一个稳定版本。

在Mac OS 上将Node.js升级至最新版本

我希望这能帮助更多的开发人员:(

相关内容

  • 没有找到相关文章

最新更新