Node.js v22中如何导入JSON文件?Rollup配置遇问题求助
Node.js 22 中 Rollup 配置文件导入 JSON 的可行方案
以下是几种在 Node.js 22 的 rollup.config.mjs 中导入 JSON 文件的可靠方法:
方法一:使用 Node.js 内置 fs 模块读取解析
这种方式不依赖实验性语法,兼容所有 Node.js 版本,是最稳妥的方案:
import { readFileSync } from 'fs'; import { fileURLToPath } from 'url'; import { dirname, join } from 'path'; // 获取当前配置文件的目录路径 const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); // 读取并解析 package.json const packageJson = JSON.parse(readFileSync(join(__dirname, 'package.json'), 'utf8'));
方法二:使用 Rollup 官方 JSON 插件
借助 @rollup/plugin-json 插件,让 Rollup 直接处理 JSON 文件的导入,无需关注 Node.js 的语法限制:
- 先安装插件:
npm install @rollup/plugin-json --save-dev
- 在
rollup.config.mjs中配置使用:
import json from '@rollup/plugin-json'; // 现在可以直接导入 JSON 文件,插件会自动解析 import packageJson from './package.json'; export default { input: 'src/index.js', plugins: [json()], // 其他 Rollup 配置项... };
方法三:使用 Node.js 22 稳定版 JSON 模块语法
Node.js 22 中 JSON 模块导入已脱离实验阶段,但需确保项目根目录的 package.json 中设置了 "type": "module"(若未设置),之后可使用以下语法:
import packageJson from './package.json' assert { type: 'json' };
如果该方式仍报错,大概率是 Rollup 对该语法的兼容问题,优先选用前两种方案即可。
内容的提问来源于stack exchange,提问作者MUHAMMAD Asim
相关产品推荐
相关产品推荐

