【发布时间】:2023-01-20 18:17:55
【问题描述】:
我已经在 Rollup.js 包之后测试了我的 npm 包,我得到了两个文件。 index.mjs 和 index.cjs。我想以某种方式允许人们在他们之间进行选择。我不认为创建两个包只是为了支持它们是个好主意,或者发布 1.0.0 用于 ecma 版本和 1.5.0 用于 cmjs 版本都不是好主意。有没有办法做到全力支持?预先感谢。
【问题讨论】:
标签: javascript npm package
我已经在 Rollup.js 包之后测试了我的 npm 包,我得到了两个文件。 index.mjs 和 index.cjs。我想以某种方式允许人们在他们之间进行选择。我不认为创建两个包只是为了支持它们是个好主意,或者发布 1.0.0 用于 ecma 版本和 1.5.0 用于 cmjs 版本都不是好主意。有没有办法做到全力支持?预先感谢。
【问题讨论】:
标签: javascript npm package
不幸的是,我认为没有办法制作一个完全支持 ECMAScript 和 CommonJS 模块的包。这两种模块格式不兼容......所以你必须发布两个单独的包。
但是您可能会考虑使用 ES6 转译器(例如 Babel 或 TypeScript),以便根据用户的需要将您的代码转换为任何一种格式。这可能需要在用户端进行一些额外的设置,但如果他们只需要其中一种格式并且不想分别下载这两个包,这可能是一个非常有效的解决方案。
【讨论】: