[英]How prepare lib to be tree-shaking compatible?
Tree Shaking 是捆綁程序為了刪除 lib 未使用的代碼而應用的過程。
這意味着作為一個庫,您需要導出一個可搖樹的版本(esm),因為您不知道您的消費者不會使用哪些代碼。
如果您的代碼將同時用於環境、節點和瀏覽器,您需要為節點和esm
(ES 模塊)版本導出cjs
(commonJS)版本以供瀏覽器使用。
使用 typescript 您可以通過使用 2 個單獨的配置運行tsc
兩次來實現:
// tsconfig.browser.json
{
"compilerOptions": {
"module": "esnext",
"outDir": "./dist/esm/",
...
}
}
// tsconfig.node.json
{
"compilerOptions": {
"module": "commonjs",
"outDir": "./dist/cjs/",
...
}
}
然后為每次運行指定配置。
tsc -c ./tsconfig.browser.json
tsc -c ./tsconfig.node.json
在您的package.json
添加 2 個條目。
{
...
module: "dist/esm/index.js",
main: "dist/cjs/index.js"
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.