簡體   English   中英

Webpack - 導出方法如何影響 Tree Shaking?

[英]Webpack - How does export method effect Tree Shaking?

對於實用函數和常量,我通常使用命名導出。

//utilities.js
export function someFunction(param){...}
export function someFunction2(param){...}


//someModule.js
import {someFunction} from "./utilities.js" 

但有時,我將它們導出為默認對象。

//styleUtilities.js
export function someFunction(param){...}
export function someFunction2(param){...}
export default {someFunction, someFunction2}

//someModule.js
import styleUtilities from "./styleUtilities" 

const {someFunction} = styleUtilities

當導出為默認對象時,它是否會破壞 Webpack 中未使用值的樹抖動?

當導出為默認對象時,它是否會破壞 Webpack 中未使用值的樹抖動?

是的。

記住所有樣式實用程序都在styleUtilities下可能很方便。

為此,您仍然應該在utilities.js模塊中使用命名導出。 然后在someModule.js導入該模塊時,使用命名空間導入語法:

import * styleUtilities from "./utilities.js";

styleUtilities.someFunction();

仍將允許 tree-shaking ,並為模塊的使用者提供導入樣式的選擇(而不是將對象強加於它們)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM