配置config和封装storage

简介: 最近在学习Vue3,现在来说一下自己的学习感受,并且分享一些小知识点。

前言

最近在学习Vue3,现在来说一下自己的学习感受,并且分享一些小知识点。

可能这些知识点并不是那么属于Vue3的知识范畴,但是这是我在学习过程中遇到并且记录下来的,对于我而言,是Vue3让我遇到了这些知识,哈哈哈哈,我就这么归类辣!

感想

这次使用的是Vite,之前都是用的vue-cli,Vite使用起来就一个字,快!

认真的去做一个自己的全栈项目,所以能封装起来用的地方,都尽量去封起来了,减少以后的代码量。

后端使用的是koa,也是第一次自己尝试去写后端。等这个项目写完,会继续分享一些踩坑小技巧的。

开始了,奇奇怪怪的小知识

配置config

我们的请求地址通常应该会有三种,在前后端开发分离的情况,第一种就是mock地址,方便我们在没有后端的情况下进行前端开发,第二种是测试地址,也就是后端写好了之后,我们请求的从mock地址变成了后端写好后挂载的服务地址,最后,当测试没问题了,部署到线上,我们请求的就是部署好的线上地址了。

所以文件中的三种环境分别与开发环境,测试环境和部署环境相对应。

mock的重要性,我觉得mock很重要,他可以帮助我们在没有后端的时候,依据接口文档进行前端开发并测试。

以下为程序介绍: 默认是生产环境 prod,如果有值就赋值到env变量上,当做当前的环境变量。
最后将EnvConfig以解构的方式导出,方便根据当前环境直接调取两种Api

const env = import.meta.env.MODE || 'prod'
const EnvConfig = {
    dev:{
        baseApi:'',
        mockApi:''
    },
    test:{
        baseApi:'',
        mockApi:''
    },
    prod:{
        baseApi:'',
        mockApi:''
    }
}
export default {
    env:env,
    mock:true,
    ...EnvConfig[env]
}

关于storage

大家都应该很熟悉了,他可以与jwt token联系起来,来做一些权限的操作,或者当我们的数据需要跨组件共享的时候,也会用到它。

跨组件数据共享: 在Vue中使用Vuex,但是存在一个问题,因为数据此时存在js内存中,页面刷新后数据就会丢失,所以我们用Vuex和storage联合起来完善此功能。

下面是对storage进行封装,方便自己使用:

它自身带的api好像不支持清除单独的数据,只能全清理掉,所以我特意封装了个单独的emm,希望不是我没注意到它自带,那就哭了。
  • setItem()
  • getItem()
  • clearItem()
  • clearAll()

import config from './../config'
export default {
    setItem(key,val){
        let storage = this.getStorage()
        storage[key] = val
        window.localStorage.setItem(config.namespace,JSON.stringify(storage))
    },
    getItem(key){
        return this.getStorage()[key]
    },
    getStorage(){
       return  JSON.parse(window.localStorage.getItem(config.namespace)) || "{}"
    },
    clearItem(key){
        let storage = this.getStorage()
        delete storage[key]
        window.localStorage.setItem(config.namespace,JSON.stringify(storage))
    },
    clearAll(){
        window.localStorage.clear()
    }
}

写在最后

要一直在路上呀!加油!

点个赞,一起努力加油吧♥

相关文章
|
7天前
|
测试技术
Profile Config 多环境不同配置
Profile Config 多环境不同配置
11 0
|
7天前
NLog.config 配置
NLog.config 配置
14 0
|
2月前
|
存储 消息中间件 Java
Java一分钟之-Spring Cloud Config:外部化配置
【6月更文挑战第8天】Spring Cloud Config提供外部化配置,通过Config Server管理和版本控制微服务配置。本文涵盖Config Server与Client的配置、常见错误、多环境配置、实时更新及使用示例。注意配置服务器URL、环境变量设置、Bus配置以及安全问题。使用Config能提升系统灵活性和可维护性,但要留意日志以确保配置正确和安全。
107 10
|
1月前
|
前端开发 JavaScript Linux
若依修改之后,无法访问前端项目如何解决,只能访问后端的接口,我的接口8083,端不显示咋解决?在vue.config.js文件中的映射路径要跟后端匹配,到软件商店里找到Ngnix配置代理,设80不用加
若依修改之后,无法访问前端项目如何解决,只能访问后端的接口,我的接口8083,端不显示咋解决?在vue.config.js文件中的映射路径要跟后端匹配,到软件商店里找到Ngnix配置代理,设80不用加
文本vitepress,如何设置背景图,如何插入背景图,如何插入logo,为了放背景图片,我们要新建pubilc的文件夹,插入logo要在config.js中进行配置,注意细节,在添加背景时,注意格式
文本vitepress,如何设置背景图,如何插入背景图,如何插入logo,为了放背景图片,我们要新建pubilc的文件夹,插入logo要在config.js中进行配置,注意细节,在添加背景时,注意格式
|
1月前
|
资源调度 前端开发
文本,vitepress的使用,如何使用vitevitepress没有config.js该怎么办?这里使用vitepress进行手动配置,参考只爭朝夕不負韶華的文章
文本,vitepress的使用,如何使用vitevitepress没有config.js该怎么办?这里使用vitepress进行手动配置,参考只爭朝夕不負韶華的文章
|
1月前
|
JavaScript
vue 配置【详解】 vue.config.js ( 含 webpack 配置 )
vue 配置【详解】 vue.config.js ( 含 webpack 配置 )
28 0
|
2月前
springCloud之配置中心Config
springCloud之配置中心Config
13 0
|
3月前
|
移动开发 前端开发 JavaScript
Vue2 系列:vue.config.js 参数配置
Vue2 系列:vue.config.js 参数配置
147 2
|
2月前
|
Web App开发 JavaScript
使用CRXjs、Vite、Vue 开发 Chrome 多页面插件,手动配置 vite.config.ts 和 manifest.json 文件
使用CRXjs、Vite、Vue 开发 Chrome 多页面插件,手动配置 vite.config.ts 和 manifest.json 文件
76 0