nodejs 支持import json 导入版本v17.1.0+

Node.js v17.1.0 及以上版本 原生支持 import json。如果你的 Node.js 版本较低,需要额外的配置或使用 fs 读取 JSON 文件。


1. Node.js v17.1.0+

从 JSON 文件中导入数据(原生支持)

如果你的 Node.js 版本 >= 17.1.0 ,可以直接使用 import 方式加载 JSON 文件:

python 复制代码
import data from './data.json' assert { type: 'json' };

console.log(data);

注意

  • 必须使用 assert { type: 'json' },否则会报错。
  • 你的 package.json 需要 "type": "module",或者以 .mjs 结尾的文件。

2. Node.js v16.14.0+(实验性支持)

  • 在 Node.js 16.14.0 及以上 ,可以使用 import 但需要 --experimental-json-modules 选项
css 复制代码
node --experimental-json-modules index.mjs

代码示例:

python 复制代码
import data from './data.json' assert { type: 'json' };

console.log(data);

⚠️ 3. 低版本(Node.js <16) 或 CommonJS 方式

如果你的 Node.js 版本 低于 16 ,或者你的项目使用的是 CommonJSrequire()),可以用 fs.readFileSync 读取 JSON:

ini 复制代码
const fs = require('fs');

const data = JSON.parse(fs.readFileSync('./data.json', 'utf8'));

console.log(data);

或者直接 require()(适用于 Node.js 12+ ):

ini 复制代码
const data = require('./data.json');

console.log(data);

** 总结**

Node.js 版本 方式 代码示例
v17.1.0+ 原生支持 import import data from './data.json' assert { type: 'json' };
v16.14.0+ 实验性支持 需要 --experimental-json-modules
低于 v16 require()fs 读取 const data = require('./data.json');
相关推荐
excel几秒前
前端事件机制入门到精通:事件流、冒泡捕获与事件委托全解析
前端
Moment18 分钟前
Next.js 15.5 带来 Turbopack Beta、Node 中间件稳定与 TypeScript 强化 🚀🚀🚀
前端·javascript·react.js
yzzzzzzzzzzzzzzzzz40 分钟前
初识javascript
前端·javascript
excel2 小时前
硬核 DOM2/DOM3 全解析:从命名空间到 Range,前端工程师必须掌握的底层知识
前端
专注API从业者9 小时前
Python + 淘宝 API 开发:自动化采集商品数据的完整流程
大数据·运维·前端·数据挖掘·自动化
你的人类朋友10 小时前
【Node&Vue】JS是编译型语言还是解释型语言?
javascript·node.js·编程语言
烛阴10 小时前
TypeScript高手密技:解密类型断言、非空断言与 `const` 断言
前端·javascript·typescript
样子201810 小时前
Uniapp 之renderjs解决swiper+多个video卡顿问题
前端·javascript·css·uni-app·html
Nicholas6811 小时前
flutterAppBar之SystemUiOverlayStyle源码解析(一)
前端
黑客飓风11 小时前
JavaScript 性能优化实战大纲
前端·javascript·性能优化