Импорт пакетов npm в Nativescript Playground

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

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

Ошибка при импорте

и следующая ошибка:

Ошибка при переносе 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]
})

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


person Nitish Kumar    schedule 29.03.2019    source источник


Ответы (1)


nativescript-vue упакован в предварительную версию 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 по умолчанию ничего не экспортировал.

person Manoj    schedule 29.03.2019