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

如何将JS文件从require升级为import并解决导入报错问题

正确将require升级为import语法的解决方案

问题根源

你的项目package.json中设置了"type": "module",这意味着所有.js文件会被Node当作ES模块处理,但network.js同时混用了ES模块的export和CommonJS的module.exports,导致模块类型冲突;改成.cjs后,.cjs文件被当作CommonJS模块,不支持ES模块的export语法,所以再次报错。

解决步骤

1. 统一network.js的模块语法

删除network.js中的CommonJS导出代码,只保留ES模块语法:

export const NETWORK = {
  eth: "eth",
  sol: "sol",
};

2. 使用正确的import语句

在需要导入的文件中,使用以下ES模块导入语法即可:

import { NETWORK } from '../constants/network.js';

补充说明

  • 如果项目中还有其他使用require的文件,都需要改为ES模块的import语法;
  • 若部分文件需要保留CommonJS语法,可以将其重命名为.cjs后缀,此时这些文件不能使用export/import,只能用module.exports/require;
  • 确保所有导入路径的后缀(.js)不能省略,ES模块在Node中要求必须写全文件后缀。

内容的提问来源于stack exchange,提问作者Ritzy Dev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 17:40:36