【问题标题】:Must use import to load ES Module: E:\projects\weblog\next.config.js必须使用 import 加载 ES Module:E:\projects\weblog\next.config.js
【发布时间】:2021-12-16 17:01:15
【问题描述】:

我在 NextJs 中使用 reactstrap,当我从中导入某些内容时,它会显示此错误:

错误 [ERR_REQUIRE_ESM]:必须使用导入来加载 ES 模块:E:\projects\weblog\next.config.js 不支持 ES 模块的 require()。 E:\projects\weblog\next.config.js 的 require() 来自 E:\projects\weblog\node_modules\next\dist\next-server\server\config.js 是一个 ES 模块文件,因为它是一个 .js其最近的父 package.json 包含 "type": "module" 的文件,它将该包范围内的所有 .js 文件定义为 ES 模块。 而是将 next.config.js 重命名为以 .cjs 结尾,将所需代码更改为使用 import(),或从 E:\projects\weblog\package.json 中删除 "type": "module"。

这是我的next.config.js

const path = require("path");
module.exports = {
   images: {
      domains: ["res.cloudinary.com"],
   },
   sassOptions: {
      includePaths: [path.join(__dirname, "styles/sass")],
   },
};

我该如何解决这个错误?

谢谢。

【问题讨论】:

  • 您是否尝试过从您的package.json 文件中删除"type": "module"
  • 是的,我做了,但没有工作。

标签: reactjs next.js reactstrap


【解决方案1】:

您需要从E:\projects\weblog\package.json.删除 "type": "module"

{
  "name": "My Best App",
  "version": "0.1.0",
  "type": "module",
  "private": true,
  "scripts": {
    ...
  }
  ...
}

【讨论】:

  • 我试过这个,但错误仍然存​​在。
  • 修改后记得重启项目。
  • next.config.json 或 next.config.js ?
  • 是的,它是 next.config.js
  • 进行更改,从根文件夹项目中删除文件夹“.next”并重新启动服务器。控制台显示什么?
猜你喜欢
  • 1970-01-01
  • 2022-01-25
  • 2020-09-06
  • 2022-11-11
  • 2021-12-17
  • 2021-09-26
  • 2020-11-10
  • 2020-09-17
  • 2023-03-08
相关资源
最近更新 更多