Как мне разрешить импорт по абсолютному пути? - PullRequest
0 голосов
/ 04 июля 2018

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

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

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

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

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

1 Ответ

0 голосов
/ 06 июля 2018

Нашел решение с помощью пакета babel-plugin-module-resolver .

Поскольку все мои коды находятся под /imports dir, в 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, но вместо этого вы можете использовать регулярное выражение.

...