Webpack - Как метод экспорта влияет на встряхивание дерева? - PullRequest
0 голосов
/ 09 января 2020

Для утилитарных функций и констант я обычно использую именованные экспорты.

//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?

1 Ответ

1 голос
/ 09 января 2020

При экспорте в качестве объекта по умолчанию нарушается ли дрожание дерева для неиспользуемых значений в Webpack?

Да.

Может быть удобно запомнить, что все стилевые утилиты находятся под styleUtilities.

. Для этого вы все равно должны использовать именованные экспорты в вашем модуле utilities.js. Затем, при импорте этого модуля в someModule.js, используйте синтаксис импорта пространства имен:

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

styleUtilities.someFunction();

Это по-прежнему допускает встряхивание дерева и предлагает выбор стиля импорта для потребителя вашего модуля (без форсирования объекта). на них).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...