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

如何在Node.js中正确配置实验性ECMAScript模块以使用import/export

统一前后端ES模块语法的实用进展

哎,这个痛点我太懂了!用MERN栈开发的时候,前脚在React里写着import/export的ES6语法,后脚切到Node/Express后端就得换成module.exports/require的CommonJS写法,来回切换不仅容易写错,还要靠Babel转译才能统一风格,确实挺折腾人的。

不过你盼着的原生支持ES模块的事儿,现在已经落地成熟啦!虽然Node.js 10刚发布那会儿这功能还在实验阶段,但后续版本一直在迭代完善:

  • 从Node.js 12开始,原生ES模块支持进入稳定状态,只要把文件后缀改成.mjs,或者在项目的package.json里添加"type": "module"字段,就能直接在Node环境里用import/export语法,完全不用依赖Babel转译
  • 如果需要兼容旧的CommonJS模块,也可以用import()动态导入的方式,或者在CommonJS文件里通过require()导入ES模块(不过后者有一些使用细节需要注意)

你提到去年看到James的文章相关内容,估计他当时应该是在分享Node.js对ES模块的实验性支持进展吧?现在这个功能已经足够稳定,完全可以在你的MERN项目里尝试用起来,能省不少转译环节的麻烦呢!

内容的提问来源于stack exchange,提问作者Leo Li

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:35:29