在Nativescript Playground中导入npm软件包

时间:2019-03-29 13:34:56

标签: javascript node.js nativescript nativescript-vue

我正在尝试学习nativescript-vue,在那里我使用Nativescript的游乐场来试用示例代码。我正在尝试使用nativescript-localstorage软件包,以便可以将某些信息存储到本地存储中:

每当我尝试保存项目时,都会出现使用编译错误

Error in importing

以下是错误:

  

编译nativescript-localstorage / localstorage.js时发生错误。   未知:我们找到的路径不是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 :(得分:0)

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尚未默认导出任何内容。