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

在cPanel部署ReactJS应用时Phusion Passenger出现ERR_REQUIRE_ESM错误

在cPanel通过Phusion Passenger部署ReactJS时的ERR_REQUIRE_ESM错误解决

错误详情

错误核心提示:

/opt/cpanel/ea-ruby27/root/usr/share/passenger/helper-scripts/node-loader.js:80
return originalRequire.apply(this, arguments);
^

Error [ERR_REQUIRE_ESM]: require() of ES Module /home/taliink1/public_html/frontend/app.js from /opt/cpanel/ea-ruby27/root/usr/share/passenger/helper-scripts/node-loader.js not supported.
app.js被识别为ES模块文件,因其所在目录的最近package.json中包含"type": "module",声明该包范围内所有.js文件为ES模块。
code: 'ERR_REQUIRE_ESM'

调用栈信息:

at Module.require (/opt/cpanel/ea-ruby27/root/usr/share/passenger/helper-scripts/node-loader.js:80:25)
at loadApplication (/opt/cpanel/ea-ruby27/root/usr/share/passenger/helper-scripts/node-loader.js:243:2)
at setupEnvironment (/opt/cpanel/ea-ruby27/root/usr/share/passenger/helper-scripts/node-loader.js:214:2)
at Object.<anonymous> (/opt/cpanel/ea-ruby27/root/usr/share/passenger/helper-scripts/node-loader.js:133:1) {

解决方法

  • 将app.js重命名为.cjs后缀,明确标记该文件为CommonJS模块
  • 修改调用代码使用dynamic import()语法(所有CommonJS模块均支持该方式加载ES模块)
  • 修改/home/taliink1/public_html/frontend/package.json中的配置,将"type": "module"改为"type": "commonjs",使目录下所有.js文件默认被识别为CommonJS模块;若仍需保留ES模块,将对应文件改为.mjs后缀

内容的提问来源于stack exchange,提问作者high tech

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 16:40:19