如果 NPM 包将通过消费项目捆绑,为什么还要捆绑它们?

Ben*_*ley 9 javascript rollup npm typescript vite

I\xe2\x80\x99m 构建要在 NPM 上发布的 TypeScript 包。我\xe2\x80\x99将在未来可能使用Vite的Web开发项目中使用这个包。当我用这个模块构建未来的网站时,它\xe2\x80\x99s是否已经捆绑有关系吗?无论NPM上的代码是否被捆绑(如在lib.esm.js文件中),Won\xe2\x80\x99t Rollup(Vite用于构建网站)都会捆绑代码吗?为什么不直接使用 TSC(TypeScript 编译器)将 TS 编译为 NPM 的 JS,然后让使用项目(无论是 Rollup、Webpack 还是 Parcel)将其捆绑起来以针对浏览器进行优化?

\n

我错过了什么其他 NPM 作者知道的事情?

\n

请注意,我\xe2\x80\x99m将此包严格编写为ESM模块(类型:模块),因此我\xe2\x80\x99m不担心CJS。

\n

Dis*_*tum 2

你\xe2\x80\x99是对的。您不需要\xe2\x80\x99 来捆绑它。只需将每个文件从源目录单独转译到输出目录,并将 package.json\xe2\x80\x99smain指向转译的入口点。直接使用Babel。

\n

一个例子是react-markdown

\n