解决 Node.js 错误: ERR_REQUIRE_ESM - 无法加载 ES 模块
这个错误是由于在使用webpack-dev-server时,require()的ES模块('index.js')不被支持所引起的。可以尝试以下解决方法:
-
确保你的Node.js版本在12.20.0或更高版本。如果版本过低,可以升级到最新版本。
-
找到并打开文件:C:\Users\gxyz\Desktop\软件工程\实验2\renren-fast-vue-master\node_modules.store\webpack-dev-server@2.9.1\node_modules\webpack-dev-server\lib\util\createDomain.js
-
在文件中找到require('internal-ip/index.js')的部分,将其替换为动态导入(dynamic import)的方式。具体操作如下:
将原来的代码:
const internalIp = require('internal-ip/index.js');
替换为:
import('internal-ip/index.js').then((internalIp) => { // 在这里使用internalIp });
-
保存文件并重新运行你的项目,看看是否还会出现同样的错误。
如果以上方法不起作用,可以尝试以下额外的解决方案:
-
删除node_modules文件夹,并重新运行
npm install
命令重新安装依赖。 -
更新webpack-dev-server的版本。可以通过运行
npm update webpack-dev-server
或yarn upgrade webpack-dev-server
来更新。 -
如果你的项目使用了yarn,可以尝试使用npm来运行项目,或相反。
-
检查你的项目中是否存在其他与webpack-dev-server冲突的依赖项,尝试升级或删除这些依赖项。
如果以上方法仍然无法解决问题,建议在相关的GitHub仓库或论坛上提交问题报告,以获取更具体的帮助。
原文地址: http://www.cveoy.top/t/topic/phGA 著作权归作者所有。请勿转载和采集!