刘一笔
刘一笔
  • 发布:2020-11-21 18:01
  • 更新:2021-10-09 15:57
  • 阅读:2025

使用uni.get & set storage,编译到浏览器正常,但是运行到微信开发者工具报Cannot read property 'localStorage' of undefined 错误

分类:uni-app
  1. 在uniapp项目中,使用了本地存储的api const res = uni.setStorageSync('sentence', data) const store = uni.getStorageSync(key); 与此同时,还使用到了leancloud的相关服务。
  2. 运行到浏览器没有任何报错,正常运行,只在hbuilderx控制台有提醒node_modules\leancloud-storage\dist\av.js 文件体积超过 500KB,已跳过压缩以及 ES6 转 ES5 的处理,手机端使用过大的js库影响性能。`
  3. 运行到微信小程序开发者工具报错,如下图。
  4. 点击第一个at, 指向报错点的代码是window.localStorage,

我的疑惑,为啥会出现这个问题,uniapp不是会帮助我们抹平这个差异吗。window对象是浏览器的BOM上才有的,编译到小程序应该使用微信那边的api,为啥还会运行到这行代码。

2020-11-21 18:01 负责人:无 分享
已邀请:
Yooye

Yooye

遇到了同样的问题,老铁解决了吗

w***@qq.com

w***@qq.com

还是没能解决这个问题 可能需要抹掉代码了

songjh

songjh

是leancloud代码加载时平台选择出错导致的,详见https://forum.leancloud.cn/t/uniapp-leancloud/19421/22
解决办法是按https://leancloud.cn/docs/sdk_setup-js.html#hash1925024821
说的,手动导入对应平台的sdk即可。

该问题目前已经被锁定, 无法添加新回复