Псевдоним Webpack не распознается потоком - PullRequest
0 голосов
/ 24 мая 2018

У меня возникли проблемы с псевдонимами веб-пакетов, и он хорошо работает с потоком.

У меня есть псевдоним:

    alias: {
        vue$: 'vue/dist/vue.esm.js',
        puma: path.resolve(__dirname, 'assets/app/stores/clothes'),
    },

, и я использую его в своих компонентахимпортируя так:

     import components from "puma/components"

Для моего flowconfig он настроен как:

 module.name_mapper='^puma\/.*' -> 'puma/\1'

, и я действительно не уверен, как работает этот тип регулярных выражений OCaml ... иМне нужна помощь сома.

Целью этого поста будет разрешение ошибки:

     ^^^^^^^^^^^^^^^^ puma. Required module not found

1 Ответ

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

Разобрался!

Я просто не совсем понял, что происходит в name_mapper, и до сих пор не полностью понимаю это, но я думаю,это:

поток анализирует ваши файлы, а затем, когда он добирается до импорта, я думаю, что он делает некоторую проверку для его name_mappers, чтобы увидеть, является ли синтаксис импорта псевдонимом или его нужно сопоставить с чем-либоостальное.В этом случае, когда он достиг puma, в кодовой базе нет каталога с именем puma, но в .flowconfig в *1012* оказался соответствующий * 1011, который соответствует его регулярному выражению, поэтому он пошел по отображенному пути кassets/app/puma/clothes.

Регулярное выражение, которое я применил, было неправильным, и в итоге я использовал нечто подобное: module.name_mapper='^puma' -> 'assets/app/stores/clothes', чтобы заставить его работать.

Один вопрос, который у меня есть ...Насколько это влияет на производительность?Проверяет ли поток теперь каждый импорт по name_mapper, чтобы увидеть, есть ли сопоставление?Значительно ли добавление новых name_mapper уменьшает скорость разбора потока?

Если кто-нибудь знает, мне было бы очень интересно услышать это.

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