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

这篇具有很好参考价值的文章主要介绍了在 ES 模块(Node.js)中导入 JSON 文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用 fs 模块读取和解析 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 允许您构造 CommonJS require 方法,以便可以使用典型的 CommonJS 功能,例如在 Node.js 中读取 JSON ES 模块。

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

前两种的区别:

  • 二者的区别是 require 机制情况下,如果多个模块都加载了同一个 JSON 文件,那么其中一个改变了 JS 对象,其它跟着改变,这是由 Node 模块的缓存机制造成的,只有一个 JS 模块对象
  • 第一种方式可以随意改变加载后的 JS 变量,而且各模块互不影响,因为他们都是独立的,是多个 JS 对象。

import Assertions

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

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

console.log(data)

当 Chrome 中有解决方案时,它很快就会在 Node.js 中发布。文章来源地址https://www.toymoban.com/news/detail-462667.html

到了这里,关于在 ES 模块(Node.js)中导入 JSON 文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Node.js - fs模块、path模块、http模块、Node.js模块化(ECMAScript标准的导出和导入)、包、npm包的管理和安装依赖、nodemon

    什么是 Node.js,有什么用,为何能独立执行 JS 代码,演示安装和执行 JS 文件内代码? Node.js 是一个独立的 JavaScript 运行环境,能独立执行 JS 代码,因为这个特点,它可以用来 编写服务器后端的应用程序 在** 传统Web开发中,浏览器就是JavaScript的运行时环境 **, 因为它提供了

    2024年02月02日
    浏览(43)
  • JS 变量保存为本地json文件,读取本地json文件为变量

    一、变量保存为本地json文件: 第一步:把返回的数据转成json格式                  var content = json.stringify(data); 第二步:把转成blob这种格式                var blob = new blob([content], {type: \\\"text/plain;charset=utf-8\\\"}); 第三步:调用保存 saveas  和文件名字               

    2024年02月08日
    浏览(42)
  • Node.js开发、CommondJS 、ES-Module模块化设计

    目录  Node.js是什么 基础使用 Node的REPL 全局变量  模块化设计 CommondJS规范  基础使用exports和module.exports require  CommondJS优缺点 AMD和CMD规范 ES_Module  基本使用方法 导出 导入  结合使用 默认导出 ES Module解析流程  Node与浏览器的对比  在浏览器中,HTML与CSS交给Blink处理,如果其

    2023年04月21日
    浏览(30)
  • 【Node】Node.Js--fs文件系统模块

    文件包含文件形式和目录形式 1. 获取文件信息状态 2. 创建目录 3. 移除目录 4. 读取目录 5. 写入文件 如果文件不存在,会先创建文件然后写入 如果文件已经存在,会清空文件中的内容然后写入数据 6. 追加写入 如果文件不存在,会先创建文件,然后写入数据 如果文件已经存在

    2024年04月23日
    浏览(31)
  • Vue中JSON文件神奇应用fetch、axios异步加载与模块导入全指南

      在Vue中使用JSON文件有多种方式,包括使用 fetch 方法加载JSON文件、使用 axios 库加载JSON文件,以及将JSON文件导入为模块。以下是详细描述和相应的示例代码: 创建一个 JSON 文件,例如  data.json : 在Vue组件中使用  fetch  方法加载 JSON 文件: 安装  axios  库: 在Vue组件中使

    2024年02月19日
    浏览(32)
  • 导入微信小程序出现的错误: app.json app.json 未找到,未找到入口 app.json 文件,或者文件读取失败,请检查后重新编译。小程序app.json报错

    相信很多新手小宝贝在导入别人的微信小程序文件时肯定遇到过这个问题,然后去网上查了很久,却还是解决不了这个问题。接下来,我来告诉大家怎么一招解决这个问题: 类似下面这些文件,不要直接选择这些它,不然会直接报错 一定要双击点进去,到下一层再选择文件

    2024年02月11日
    浏览(38)
  • 使用ts-node命令运行ts文件时报错(Warning: To load an ES module, set “type“: “module“ in the package.json...)

    使用 ts-node 运行TS文件时报错。 错误信息1: 错误信息2: ts-node 版本: ^10.8.0 , typescript 版本: ^4.6.3 。 tsconfig.json 文件内容如下 在网上查找了一些资料,出现类似问题的有很多,链接如下: http://www.longant.cn/en/node/7289 https://stackoverflow.com/questions/62096269/cant-run-my-node-js-typescr

    2024年02月16日
    浏览(39)
  • Node.js:path文件路径操作模块

    path 用于文件路径操作 官方文档 https://nodejs.org/api/path.html 一个不错的解释 示例 参考文章 node之Path介绍

    2024年02月13日
    浏览(38)
  • Node.js中的文件系统(file system)模块

    聚沙成塔·每天进步一点点 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而

    2024年02月04日
    浏览(32)
  • JS前端读取本地上传的File文件对象内容(包括Base64、text、JSON、Blob、ArrayBuffer等类型文件)

    FileReader.readAsArrayBuffer() - Web API 接口参考 | MDN FileReader 接口提供的 readAsArrayBuffer() 方法用于启动读取指定的 Blob 或 File 内容。当读取操作完成时,readyState 变成 DONE(已完成),并触发 loadend 事件,同时 result 属性中将包含一个 ArrayBuffer 对象以表示所读取文件的数据。 https://

    2024年02月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包