文件名称:typescript-esm-cjs-hybrid-example:TypeScript中的混合ESMCJS模块
文件大小:15KB
文件格式:ZIP
更新时间:2024-06-02 23:54:29
JavaScript
TypeScript中的混合ESM / CJS模块 生成和使用针对CommonJS / CJS和ECMAScript模块/ ESM的混合节点模块很难做到正确,因为这些模块也可以在节点内使用。 此仓库提供了一个如何在TypeScript中实现此目的的工作示例(基于的)。 为什么? 您需要始终支持“旧版” CommonJS模块,但是要充分利用诸如rollup之类的现代工具,还需要发布ES模块,以便这些工具可以发挥其魔力并减小捆绑包的大小。 陷阱 首先,以公开导出CJS和ESM入口点,您需要提供main (CJS或混合入口点), module (ESM入口点), browser (CJS入口点),和types在正确的打字稿型出口的package.json 。 但是,节点不接受标准的.js文件作为ESM模块,但是您需要提供用于处理模块类型检测(缓慢,容易出错)的加载程序脚本,或者将所有ES模
【文件预览】:
typescript-esm-cjs-hybrid-example-master
----.gitignore(2KB)
----package.json(972B)
----package-lock.json(969B)
----src()
--------index.ts(318B)
----build()
--------mjs()
--------cjs()
----LICENSE(1KB)
----README.md(7KB)
----hybrid()
--------package.json(1KB)
--------package-lock.json(653B)
--------src()
--------dist()
--------tsconfig.json(174B)
----.editorconfig(662B)