【发布时间】:2022-07-04 20:18:58
【问题描述】:
我正在构建一个要在 NPM 上发布的 TypeScript 包。我将在未来可能使用 Vite 的 Web 开发项目中使用这个包。当我用这个模块构建未来的网站时,它是否已经捆绑有关系吗?不管 NPM 上的代码是否被捆绑(比如在 lib.esm.js 文件中),Rollup(Vite 用来构建网站)不会捆绑代码吗?为什么不直接使用 TSC(TypeScript Compiler)将 TS 编译为 JS 用于 NPM,然后让消费项目(无论是 Rollup 还是 Webpack 或 Parcel)捆绑它以针对浏览器进行优化?
其他 NPM 作者知道我错过了什么?
注意,我将这个包编写为严格的 ESM 模块(类型:模块),所以我不担心 CJS。
【问题讨论】:
-
苏格拉底:如果消费者使用 TypeScript,为什么还要编译成 JS? (例如 Deno)
-
@jsejcksn,很好。对于我的用例,我将此代码捆绑到浏览器中,因此需要 JS。
标签: javascript typescript npm rollup vite