s***@gmail.com
s***@gmail.com
  • 发布:2022-06-06 10:32
  • 更新:2023-05-19 10:08
  • 阅读:1775

【报Bug】nvue引入pinia报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10 20H2

HBuilderX类型: 正式

HBuilderX版本号: 3.4.13

手机系统: Android

手机系统版本号: Android 11

手机厂商: 模拟器

手机机型: pixel2

页面类型: nvue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

创建一个nvue界面,创建一个piniastore,在nvue中导入pinia

import {defineStore} from 'pinia'  
import { computed, reactive, ref } from 'vue'  

export const useUserStore = defineStore('user', () => {  
    const count = ref(0)  

    return {  
        count  
    }  
})
<template>  
    <view>  
        nvue页面测试pinia  
    </view>  
</template>  

<script>  
import {useUserStore} from '../../store/user.js'  
export default {  
    data() {  
        return {  

        }  
    },  
    methods: {  

    }  
}  
</script>  

<style>  

</style>

预期结果:

不报错

实际结果:

reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: (0 , import_pinia.defineStore) is not a function

bug描述:

在nvue中导入pinia报错
reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: (0 , import_pinia.defineStore) is not a function

2022-06-06 10:32 负责人:无 分享
已邀请:
s***@gmail.com

s***@gmail.com (作者)

顶顶顶顶

s***@gmail.com

s***@gmail.com (作者)

顶顶顶

DCloud_UNI_FXY

DCloud_UNI_FXY

https://uniapp.dcloud.net.cn/tutorial/vue3-pinia.html#%E5%9F%BA%E6%9C%AC%E7%A4%BA%E4%BE%8B

  • s***@gmail.com (作者)

    还是报错

    2022-06-06 17:56

  • 132liyh

    hx 最新版本3.4.14 在nvue使用pinia也还是报错-

    2022-06-08 11:33

  • DCloud_UNI_FXY

    回复 1***@sina.com: 仔细看文档说明,示例代码,必须在main.js中返回Pinia

    2022-06-08 17:49

  • t***@foxmail.com

    回复 DCloud_UNI_FXY: main中返回Pinia了,也报错

    2022-08-09 10:18

  • 1***@qq.com

    使用nvue作为首屏,在首屏使用pinia,会报这个错,要怎么处理。

    2024-04-10 20:36

一顾倾人诚

一顾倾人诚

遇到了一样的问题

4***@qq.com

4***@qq.com

一样的问题

一顾倾人诚

一顾倾人诚

搞定了!!! 按照 pinia 官网文档 的写法

import { createPinia } from 'pinia'  

export function createApp() {  
    ...  
    const Pinia = createPinia()  
    return {Pinia}  
}

这种写法 在nvue页面 引入会导致失败 需要按照uniapp的文档来写:

import * as Pinia from 'pinia'  

export function createApp() {  
    ...  
    app.use(Pinia.createPinia())  
    return {Pinia}  
}
  • z***@163.com

    在mian.js这样引入了,一样报错了。

    2022-08-25 16:52

  • 132liyh

    回复 z***@163.com: 好兄弟解决了吗

    2022-10-27 11:58

u***@88.com

u***@88.com - uuucn98

可以解决
// main.js
import { createSSRApp } from 'vue'
import * as Pinia from 'pinia'
import { createUnistorage } from './uni_modules/pinia-plugin-unistorage'

export function createApp() {
const app = createSSRApp(App)

const store = Pinia.createPinia()  

// 关键代码 
  • u***@88.com

    // main.js

    import { createSSRApp } from 'vue'

    import * as Pinia from 'pinia'

    import { createUnistorage } from './uni_modules/pinia-plugin-unistorage'


    export function createApp() {

    const app = createSSRApp(App)


    const store = Pinia.createPinia()  

    // 关键代码

    2023-05-19 10:09

要回复问题请先登录注册