Принять настройку flowtype для настройки webpack resol.modules с несколькими расположениями модулей - PullRequest
0 голосов
/ 15 мая 2018

Можно ли настроить тип потока (.flowconfig) для следующего сценария веб-пакета?

Мой сценарий:

У меня есть 2 папки для исходного кода javascript (ядро и тема), темавозможность переопределить каждый файл из основной области.Таким образом, у меня мог бы быть регистратор ошибок внутри ядра, но одна реализация должна делать очень нестандартные вещи, поэтому я бы создал регистратор внутри темы, и загрузчик модуля webpack вернул бы файл темы вместо файла ядра.

Так что у меня есть 3 места для модулей

  • node_modules
  • src / js / theme
  • src / js / core

При загрузке чего-либо из моего источника я пишу Path/To/Module вместо ./Path/To/Module.Это работает ... Но я использую поток, чтобы проверить мой синтаксис и сделать некоторые базовые qa.

Как мне нужно принять мой .flowfonfig, чтобы упростить эти конфигурации?

Согласно этот источник я пробовал:

[options]
module.system.node.resolve_dirname=src/js/theme
module.system.node.resolve_dirname=src/js/core

Но это не работает.

Запуск потока приводит к ошибке для каждого импорта, который я использую ...

1 Ответ

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

Хорошо, мне удалось ее решить, но я не доволен решением.

Вместо добавления каталогов модулей, как показано в моем вопросе, я добавил мапперы.

# mapping theme
module.name_mapper='^Components/\(.*\)$' -> '<PROJECT_ROOT>/src/js/theme/Components/\1'
module.name_mapper='^Core/\(.*\)$' -> '<PROJECT_ROOT>/src/js/theme/Core/\1'
module.name_mapper='^Fixtures/\(.*\)$' -> '<PROJECT_ROOT>/src/js/theme/Fixtures/\1'
module.name_mapper='^Format/\(.*\)$' -> '<PROJECT_ROOT>/src/js/theme/Format/\1'
module.name_mapper='^Helpers/\(.*\)$' -> '<PROJECT_ROOT>/src/js/theme/Helpers/\1'
module.name_mapper='^Modules/\(.*\)$' -> '<PROJECT_ROOT>/src/js/theme/Modules/\1'

# mapping core
module.name_mapper='^Components/\(.*\)$' -> '<PROJECT_ROOT>/src/js/core/Components/\1'
module.name_mapper='^Core/\(.*\)$' -> '<PROJECT_ROOT>/src/js/core/Core/\1'
module.name_mapper='^Fixtures/\(.*\)$' -> '<PROJECT_ROOT>/src/js/core/Fixtures/\1'
module.name_mapper='^Format/\(.*\)$' -> '<PROJECT_ROOT>/src/js/core/Format/\1'
module.name_mapper='^Helpers/\(.*\)$' -> '<PROJECT_ROOT>/src/js/core/Helpers/\1'
module.name_mapper='^Modules/\(.*\)$' -> '<PROJECT_ROOT>/src/js/core/Modules/\1'

Это кажетсяна работу!

Примечание. Необходимо добавить маппер для каждого (!!!) начального уровня

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...