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

Node.js v12.16.1配置type:module后仍需--experimental-modules问题

问题解答

这是因为在Node.js v12.x版本中,ES模块(ESM)仍然处于实验性阶段,即使你在package.json中设置了"type": "module",也必须通过--experimental-modules标志来启用ESM支持——这是v12版本的设计要求,并不是你遗漏了什么配置。

具体细节:

  • Node.js从v10开始引入ESM支持,但一直到v14.13.0(以及v12.20.0,不过v12.x属于旧LTS分支,后续更新非常有限)才正式将ESM移出实验性状态。
  • 在v12.x中,"type": "module"的作用是告诉Node.js把.js文件当作ES模块解析,但启用ESM这个特性本身,仍然需要显式添加实验性标志来触发。

解决方式:

你可以通过以下命令正常启动服务:

node --experimental-modules server.js

如果想要摆脱这个强制标志,有两个可行方向:

  • 升级到Node.js v14.13.0或更高版本(更推荐,因为v12已经停止官方维护),此时只保留package.json中的"type": "module",直接运行node server.js即可生效。
  • 继续使用v12.x版本,每次启动时坚持添加--experimental-modules标志。

内容的提问来源于stack exchange,提问作者Alexander Fradiani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 20:17:29