web前端(本地存储问题超过5MB不继续保存解决办法)
及时使用pinia进行持久化存储,存入localstorage仍然会有超过5MB就不再处理保存的问题
解决办法:取消使用pinia-plugin-persistedstate持久化插件,使用localforage,pinia库正常开启persist: true
localForage 是一个快速而简单的 JavaScript 存储库。通过使用异步存储(IndexedDB 或 WebSQL)和简单的类 localStorage 的 API ,localForage 能改善 Web 应用的离线体验。
在不支持 IndexedDB 或 WebSQL 的浏览器中,localForage 使用 localStorage。
main.js配置:
import localforage from 'localforage'
const app = createApp(App)
const pinia = createPinia()
pinia.use(({ store })=>{
store.$subscribe((mutation, state) => {
localforage.setItem(store.$id, JSON.stringify(state));
});
localforage.getItem(store.$id).then((data) => {
if (data) {
Object.assign(store.$state, JSON.parse(data));
}
});
})
// pinia.use(piniaPluginPersistedstate)
app.use(pinia)
app.mount('#app')