nodejs项目 js引入json文件报错

nodejs yekong

nodejs升级后,运行js报错了。

node:internal/errors:478
    ErrorCaptureStackTrace(err);
    ^

TypeError [ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "./index.json" needs an import assertion of type "json"

这个错误是因为试图在 Node.js 中导入一个 JSON 模块,但在使用 ECMAScript 模块 (ESM) 时,Node.js 要求你使用导入断言 (import assertion) 来指定模块类型。

这种断言目前是 ECMAScript 模块在 Node.js 中的一个新特性,它允许你明确地指定模块的类型。

要解决这个问题,你应该使用以下语法导入 JSON 文件:


import jsonData from './path-to-your-json-file.json' assert { type: 'json' };

在你的情况下,应该是这样的:


import list from './index.json' assert { type: 'json' }

请注意,这种导入断言的语法目前只在 Node.js 的 ECMAScript 模块中可用。如果你使用的是 CommonJS 模块系统,你不需要使用导入断言,可以直接使用 require 方法导入 JSON 文件。

喜欢 (1)