可以直接用 ESM 么?在 `package.json` 里用 `"type": "module"` 开启。 你差的知识太多,需要厘清很多概念。 1. 首先 ESM 和 CommonJS 是目前最主流的模块管理方式,前者标志是 `import`,后者是 `require` 2. 这两者都只针对 JS。其中 node.js 都支持,web 则只支持 ESM。 3. 在 `package.json` 里声明 `type: module` 会指明该项目在 node.js 下使用 ESM。但是你这个是网页项目,所以跟 package.json 就没什么关系。 4. 既然你用了 babel,那么很可能也会配套使用 webpack 之类的打包工具。如果最终产品都走打包,那就无所谓。 5. 否则你就要区分你的 JS 运行在哪个环境下,并采取对应的手段。 6. 实在不好搞,我的建议是换个包,或者降版本先试试。或者,换个新工具从头开始。总之问题要一个一个解决,不要死抠。