Установить контекстный каталог для импорта, когда включить файл в entry.js? - PullRequest
0 голосов
/ 12 мая 2019

В файле entry.js у меня есть:
import 'index.js';

И этот index.js имеет много импортов из другого каталога, например:

import test from 'modulename'.

Но я переместил все модули в другой каталог и хочу сохранить только index.js в главном каталоге. Поэтому я должен переписать все импортные данные с новым местоположением директории, например так:
import test from ../anotherdir/modulename

Как избавиться от этого и заставить веб-пакет искать модули в новом каталоге?

Теперь я использую псевдонимы веб-пакетов, и это помогает мне, если путь слишком длинный, но все равно требуется изменить все операции импорта.

1 Ответ

1 голос
/ 12 мая 2019

Вы можете использовать разрешение псевдонима в веб-пакете

Resolve

Эти параметры изменяют способ разрешения модулей.Веб-пакет предоставляет разумные значения по умолчанию, но есть возможность изменить разрешение в деталях.Посмотрите на Разрешение модуля для более подробного объяснения того, как работает распознаватель.

webpack.config.js

module.exports = {
  //...
  resolve: {
    alias: {
      Utilities: path.resolve(__dirname, 'src/utilities/'),
      Templates: path.resolve(__dirname, 'src/templates/')
    }
  }
};

Теперь вместо использования относительногопути при импорте выглядят так:

import Utility from '../../utilities/utility';

вы можете использовать псевдоним:

import Utility from 'Utilities/utility';
...