You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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 的语法限制:

  1. 先安装插件:
npm install @rollup/plugin-json --save-dev
  1. 在 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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 18:52:41