Webpack импортирует все, а не импортирует из каталога, когда псевдоним - PullRequest
0 голосов
/ 16 марта 2020

У меня есть псевдоним в веб-пакете, такой как:

'test': path.join(__dirname, '..', 'static');

У меня есть файл записи main.js, в котором у меня есть это:

require('test/' + bux);

У меня также есть файл- загрузчик, который заботится о изображениях.

Несмотря на то, что bux не определен в main.js, в действительности веб-пакет объединяет все, что находится в папке static (все файлы, даже в подкаталогах * 1012) * папка. Мне любопытно, почему? Если я удаляю bux и получаю require('test/');, это приводит к ошибке

невозможно разрешить /test.

где находится информация об этом в документах или что-то?

1 Ответ

0 голосов
/ 17 марта 2020

Во-первых, вы используете выражение в require, например require('test/' + bux), webpack не может обеспечить целевой модуль перед выполнением выражения. поэтому веб-пакет объединяет все файлы в папке stati c. и когда выражение выполняется, webpack может потребоваться правильный модуль из-за того, что все возможные модули все связаны.

вы можете проверить документы здесь

Во-вторых, вы должны убрать sla sh после test. в противном случае, webpack не может найти модуль.

Возьмем, к примеру, require('test/')

На этапе поиска в веб-пакете модуль должен

  1. обнаружить псевдоним test и заменить фактический путь для пути псевдонима, и оператор будет выглядеть так:
const autual = path.join(__dirname, '..', 'static'); 

require('autual/static/')

Путь является абсолютным, и веб-пакет не находит пути к модулю, соответствующего этому. поэтому выкидывает ошибки веб-пакета.

вы можете проверить расширенное разрешение для получения более подробной информации, которая реализует лог разрешения c для веб-пакета для поиска модуля и загрузчика.

...