Импорт пакетов npm в Nativescript Playground - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь узнать nativescript-vue, где я использую игровую площадку Nativescript, чтобы попробовать свои примеры кодов.Я пытаюсь использовать пакет nativescript-localstorage, чтобы сохранить часть информации в локальном хранилище:

Всякий раз, когда я пытаюсь сохранить проект, выдается ошибка компиляции

Error in importing

и ниже приводится ошибка:

Произошла ошибка при передаче файла nativescript-localstorage / localstorage.js.unknown: мы нашли путь, который не является экземпляром NodePath.Возможно, из-за плохой сериализации.

Я следовал инструкциям и добавил пакет в соответствии с инструкциями, мой код выглядит так:

import Vue from 'nativescript-vue';
import Vuex from 'vuex';
import localStorage from 'nativescript-localstorage';
import userStore from './user-store';

//For local storage of vuex tools
const NSVuexPersistent = store => {
 // Init hook.
 let storageStr = localStorage.getItem('ns-vuex-persistent');
 if (storageStr) {
  store.replaceState(JSON.parse(storageStr))
 }
 store.subscribe((mutation, state) => {
  // Subscribe hook.
  localStorage.setItem('ns-vuex-persistent', JSON.stringify(state));
 })
};

Vue.use(Vuex);

const debug = process.env.NODE_ENV !== 'production';

export default new Vuex.Store({
    modules: {
        userStore
    },
    strict: debug,
    plugins: [NSVuexPersistent]
})

Поскольку проект не сохраняется, поэтому яне поделился ссылкой.Помоги мне с этим.Спасибо.

1 Ответ

0 голосов
/ 29 марта 2019

nativescript-vue упакован в Preview APK, поэтому его можно импортировать как

import Vue from 'nativescript-vue'

Но nativescript-localstorage - это то, что вы установили в своем проекте, поэтому в Playground вы должны использовать относительный путьчтобы импортировать модуль, что-то вроде

import * as localStorage from "../nativescript-localstorage"

// Or

const localStorage = require("../nativescript-localstorage");

Вы можете использовать import name from "package" только в том случае, если пакет пометил что-то как значение по умолчанию в своих экспортах, синтаксис обычно используется в плагинах ES6 & Vue.nativescript-localstorage по умолчанию ничего не экспортировал.

...