在 ES 模块(Node.js)中导入 JSON 文件

自己读取和解析 JSON 文件

Node.js 文档建议使用 fs 模块并自己完成读取文件和解析的工作。

import { readFile } from 'fs/promises'
const json = JSON.parse(
  await readFile(
    new URL('./some-file.json', import.meta.url)
  )
);

这种方法比起我们接下来用的第二种方法更容易理解。

利用 CommonJS require 方法加载 JSON 文件

我们还可以使用 createRequire 加载 JSON 文件。

createRequire 允许您构造 CommonJSrequire` 方法,以便可以使用典型的 CommonJS 功能,例如在 Node.js 中读取 JSON ES 模块。

import { createRequire } from 'module'
const require = createRequire(import.meta.url)
const data = require('./data.json')

import Assertions

JSON 模块已经存在于 Chrome 91,它看起来就像一个 ES Modules 风格的导入,只是你在最后设置了类型。

import data from './data.json' assert { type: 'json' }

console.log(data)

当 Chrome 中有解决方案时,它很快就会在 Node.js 中发布。

全部评论

相关推荐

面试官问:为什么不考研?该怎么回答啊😭我说现在的就业环境差到底了,还有就是我不想学数学,感觉面试官笑容都凝固了😢
DayDayNoBug的鲜芋球:我说的是“上学期其实尝试过去探索一些研究的方向,但感觉那些对我来说都没有很大的吸引力,相比起研究我可能更喜欢开发这种实践性的东西,它会让我觉得很有意思并且会为之深入进去”(虽然也不知这个回答怎么样哈哈哈哈哈哈)
点赞 评论 收藏
分享
king122:专业技能不要写这么多,熟悉和熟练你经不住问,排版有些难看,中间的空隙搞小一点,项目描述的话感觉是从课程中抄下来的,改一改吧,不然烂大街了,每个项目都写一两点,用什么技术实现了什么难点,然后再写一些数字上去像时间又花了90%这样,这样面试会多一些,如果觉得自己的项目还是不够用的话,我有几个大厂最近做过的实习项目,感兴趣的话可以看我简介中的项目地址
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务