Nativescript- Vue: ошибка tns preview при загрузке Vuex? - PullRequest
0 голосов
/ 03 февраля 2020

Для небольшого приложения, которое я разрабатываю для мобильных устройств, я использую Nativescript- Vue для разработки. Приложение работает нормально и без ошибок при запуске с эмулятором xcode iOS. Однако, когда я пытаюсь запустить предварительный просмотр (с помощью команды терминала: 'tns preview'), приложение запускается, но когда я пытаюсь запустить игру, приложение выдает ошибку:

CONSOLE ERROR file:///app/tns_modules/nativescript-vue/dist/index.js:2129:20: [Vue warn]: Error in render: "TypeError: undefined is not an object (evaluating 'this.$store.getters')"

found in

---> <App> at App.vue
       <Frame>
        <Root>
LOG from device iPhone CONSOLE ERROR file:///app/tns_modules/nativescript-vue/dist/index.js:2129:20: [Vue warn]: Error in nextTick: "TypeError: undefined is not an object (evaluating 'this.$store.getters')"

Я пытаюсь запустить его с помощью приложения для игровой площадки на моем iPhone SE и сканирования qr-кода. Я думаю, что это как-то связано с тем, что приложение не может получить доступ к магазину VueX или что-то в этом роде. Но я немного растерялся. Я видел, как работает команда tns preview, но это было с приложением Vue без Vuex. Вы знаете, что я могу делать неправильно?

ОБНОВЛЕНИЕ: после добавления Vue.prototype.$store = store в main. js, я получаю немного другую ошибку:

CONSOLE ERROR file:///app/tns_modules/nativescript-vue/dist/index.js:2129:20: [Vue warn]: Error in render: "TypeError: this.$store.getters is not an Object. (evaluating 'val in this.$store.getters')"

Все еще не Я знаю, что может быть не так, но я знаю, что предварительный просмотр tns работает, когда вы отключаете / комментируете все вещи, связанные с хранилищем в коде, поэтому он определенно имеет к этому какое-то отношение. Пожалуйста, помогите, я действительно хочу показать это приложение кому-то на их телефоне.

1 Ответ

0 голосов
/ 30 апреля 2020

Мне удалось решить эту проблему, добавив в main.js эту строку сразу после импорта магазина:

import store from './store'
Vue.prototype.$store = store
...