Как разрешить импорт с абсолютным путем?

Что мне нужно настроить в brunch-config.js, чтобы иметь возможность разрешать абсолютный путь из корневой папки проекта? т.е.

import { helper } from '/imports/utilities/helper'

Причина в том, что у меня есть устаревшее приложение React, и оно импортирует локальные файлы, используя относительный путь. Пока я пытаюсь использовать поздний завтрак, мне нужно найти способ настроить поздний завтрак, чтобы он понимал путь без изменения кода.

Я пытался использовать псевдоним npm, но не знаю, как это работает

npm: {
  aliases: {
    '/imports': 'imports/**'
  }
}

2
1 536
1

Ответ:

Решено

Нашел решение с пакетом Вавилон-плагин-модуль-резольвер.

Поскольку все мои коды находятся в каталоге /imports, в brunch-config.js я устанавливаю псевдоним на основе их документация:

plugins: {
  babel: {
    plugins: [
      ...,
      ["module-resolver", {
        "root": ["./imports"],
        "alias": {
          "/imports": ([, path]) => `./imports${path}`,
        }
      }]
    ],
    presets: [
      ...
    ],
  }
},

Таким образом, если я сделаю import Screen from '/imports/components/screens', он разрешит файл под ./imports/components/screens

Вы также можете установить псевдоним в .babelrc, но вместо этого вы можете использовать регулярное выражение.