在 ES6 Node.js 中导入“.json”扩展会引发错误

新手上路,请多包涵

我们正在尝试使用新的方法为 ES6 和 Node.js 导出和导入模块。从 package.json 文件中获取版本号对我们来说很重要。下面的代码应该这样做:

 import {name, version} from '../../package.json'

但是,在执行时会抛出以下错误:

 TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".json" for T:\ICP\package.json imported from T:\ICP\src\controllers\about.js

有什么我们想念的吗?

是否不支持扩展名 .json

有没有其他方法可以使用 Node.js 13+ 检索此信息?

原文由 DarkLite1 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

根据 Node.js ES 模块文档 –experimental-json-modules 。导入 JSON 文件需要。

包括 –experimental-json-modules 标志以使模块工作。

 node --experimental-json-modules about.js

原文由 Idir Hamouch 发布,翻译遵循 CC BY-SA 4.0 许可协议

您仍然可以在 Node.js 的 ES6 模块中导入 require

 import { createRequire } from "module"; // Bring in the ability to create the 'require' method
const require = createRequire(import.meta.url); // construct the require method
const my_json_file = require("path/to/json/your-json-file.json") // use the require method

原文由 Carter Cobb 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏