Использование vuex store с npm-link в проекте vue-cli 3 теряет $ store

Я думаю, что это проблема конфигурации, связанная с хранением хранилища в папке, связанной с npm.

  1. Я создал проект vue-cli 3 и запустил пример «счетчика» (из https://github.com/vuejs/vuex/tree/dev/examples/counter)
  2. Работает: когда я перемещаю store.js в установленный пакет node_modules (и обновляю его URL-адрес импорта), он продолжает работать.
  3. Перерывы: когда я перемещаю store.js в npm связанный пакет node_modules, он компилируется, и инструменты разработки находят хранилище, но я получаю пустой экран и консольную ошибку : Свойство или метод «$ store» не определены в экземпляре, но используются во время рендеринга.

Он также правильно работает со связанным пакетом, если я создаю минимизированный js (сборка npm run). Есть ли какой-то параметр конфигурации, который мне не хватает?


person Nathaniel Rink    schedule 28.08.2018    source источник
comment
Я не могу воспроизвести проблему (демонстрация работала одинаково, независимо от того, был ли магазин связан с npm). У вас есть ссылка на GitHub на проект, в котором есть проблема?   -  person tony19    schedule 28.08.2018


Ответы (1)


Проблема оказалась в том, что у связанных пакетов была своя папка node_modules. Я думаю, что это могло привести к тому, что webpack создал 2 экземпляра Vue и прикрепил связанный пакет ко второму экземпляру.

Удаление зависимых от узловых модулей пакета и запуск webpack / vue-cli на корневом уровне решило мою проблему.

person Nathaniel Rink    schedule 28.08.2018
comment
Это тоже сработало для меня. Я думаю, что это может быть ошибка, хотя я понятия не имел, какой пакет может быть ответственным за такую ​​ошибку. - person amoe; 24.12.2018
comment
Это не идеально ... если вам нужно активно разрабатывать и создавать связанный модуль, отсутствие папки node_modules будет проблемой. - person ricosrealm; 11.07.2019