NervJS / taro

开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/
https://docs.taro.zone/
Other
35.66k stars 4.8k forks source link

Taro.getStorageSync is not a function #12943

Open akFace opened 1 year ago

akFace commented 1 year ago

相关平台

微信小程序

复现仓库(插件地址)

https://github.com/akFace/pinia-plugin-persist-taro.git 小程序基础库: 2.28.0 使用框架: Vue 3

复现步骤

我这边想实现一个pinia持久化插件,我在插件代码中引入Taro,但是打印出来确没有getStorageSync、setStorage

插件地址 https://github.com/akFace/pinia-plugin-persist-taro 关键代码 https://github.com/akFace/pinia-plugin-persist-taro/blob/master/src/index.ts

期望结果

能整成引用

实际结果

无法正常引用

环境信息

👽 Taro v3.5.7

  Taro CLI 3.5.7 environment info:
    System:
      OS: Windows 10
    Binaries:
      Node: 16.14.2 - C:\Program Files\nodejs\node.EXE
      Yarn: 1.22.18 - ~\AppData\Roaming\npm\yarn.CMD
      npm: 8.5.0 - C:\Program Files\nodejs\npm.CMD
akFace commented 1 year ago

如图:打印出来的Taro image

ZakaryCode commented 1 year ago

可以试试这么写

import { getStorageSync } from '@tarojs/taro'

storageResult = getStorageSync(storeKey)
akFace commented 1 year ago

可以试试这么写

import { getStorageSync } from '@tarojs/taro'

storageResult = getStorageSync(storeKey)

试过了,这样也不行

TechQuery commented 1 year ago

可以试试这么写

import { getStorageSync } from '@tarojs/taro'

storageResult = getStorageSync(storeKey)

@ZakaryCode 这种写法在最近的升级过程中在 HTML 5 中挂掉了:

包名 旧版本 新版本
@tarojs/* 3.6.0 3.6.4
typescript 4.9.x 5.0.x
webpack 5.75.x 5.77.x

idea2app/Taro-Vant-MobX-ts#6