Webpack извлекает функцию из модуля, которая зависит от внешней области видимости - PullRequest
0 голосов
/ 13 мая 2018

Иногда я замечаю эту ошибку, когда внутри функции модуля очень мало кода:

// module A
import data from "data.json";

export function getSomeData() {
    return data;
}

// module B
impoort { getSomeData } from "moduleA";

alert(getSomeData());

Тогда ошибка выглядит примерно так:

TypeError:data_json__WEBPACK_IMPORTED_MODULE_1__ неопределенЧтобы оптимизировать вещи, webpack связывает его так, что выполняется только эта функция, но при этом не учитывается, что она зависит от данных самого модуля.Как я могу предотвратить это (кроме написания лучшего кода, да)?

1 Ответ

0 голосов
/ 13 мая 2018

Я публикую это для любых потерянных душ в будущем.

Я нашел причину, по которой я включил модуль B в модуль A, и это, кажется, очень умный способ обработки веб-пакетоврекурсивные включения (где узел будет возвращать пустой объект).К сожалению, для людей без должных знаний, таких как я, это может быть довольно неприятно и отнимает много времени на отладку.

Надеюсь, это кому-нибудь поможет.

...