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

【报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

要回复问题请先登录注册

  • 标题 / 粗斜体
  • 代码片段
  • 超链接 / 图片 / 视频
  • 列表 / 引用

文章内容较多时,可以用标题分段 :

## 大标题 
### 小标题

斜体 / 粗体 :

**粗体** 
*斜体*
***粗斜体***

代码片段 :

``` javascript
代码片段
```

超链接 :

[链接文字](链接地址) 例: [百度](http://www.baidu.com)

图片 :

![图片说明](图片地址) 例: ![百度logo](http://www.baidu.com/img/bdlogo.gif)

视频 :

!![视频说明](视频地址) 例: !![优酷视频](http://youku.com)

有序列表 :

1. 123
2. 123
3. 123

无序列表 :

- 123
- 123
- 123

引用 : ( 双回车后结束引用 )

> 引用内容
引用内容
引用内容