环境变量的配置、mock的使用

一、环境变量的配置

项目开发过程中,至少会经历开发环境、测试环境和生产环境(即正式环境)三个阶段。

不同阶段请求的状态(如接口地址等)不尽相同,若手动切换接口地址是相当繁琐且易出错的。

于是环境变量配置的需求就应运而生,我们只需做简单的配置,把环境状态切换的工作交给代码。

开发环境(development)
顾名思义,开发使用的环境,每位开发人员在自己的dev分支上干活,开发到一定程度,同事会合并代码,进行联调。

测试环境(testing)
测试同事干活的环境啦,一般会由测试同事自己来部署,然后在此环境进行测试

生产环境(production)
生产环境是指正式提供对外服务的,一般会关掉错误报告,打开错误日志。(正式提供给客户使用的环境。)

注意:一般情况下,一个环境对应一台服务器,也有的公司开发与测试环境是一台服务器!!!

1. 项目根目录分别添加 开发、生产和测试环境的文件!

.env.development (开发环境)
.env.production  (生产环境)
.env.test (测试环境)

若要配置可以简写.env.dev,可以在 pack.json中添加

"scripts": {
    "dev": "vite --mode dev",

2. 文件内容

# 变量必须以 VITE_ 为前缀才能暴露给外部读取
NODE_ENV = 'development'
VITE_APP_TITLE = '硅谷甄选运营平台'
VITE_APP_BASE_API = '/dev-api'
NODE_ENV = 'production'
VITE_APP_TITLE = '硅谷甄选运营平台'
VITE_APP_BASE_API = '/prod-api'
# 变量必须以 VITE_ 为前缀才能暴露给外部读取
NODE_ENV = 'test'
VITE_APP_TITLE = '硅谷甄选运营平台'
VITE_APP_BASE_API = '/test-api'

3. 在pack.json中配置运行命令

 "scripts": {
    "dev": "vite --open",
    "build:test": "vue-tsc && vite build --mode test",
    "build:pro": "vue-tsc && vite build --mode production",
    "preview": "vite preview"
  },

4. 获取环境变量

通过import.meta.env.MODE获取环境变量,在main.js中打印查看环境变量

console.log("环境变量", import.meta.env);

控制台运行结果:

5. 环境配置的封装

config>index.js:

// 环境配置封装
const env = import.meta.env.MODE || 'prod'

const EnvConfig = {
    // 开发环境
    dev: {
        baseApi: '/',
        mockApi: ''
    },
    // 测试环境
    test: {
        baseApi: '//test.future.com/api',
        mockApi: ''
    },
    // 生产环境
    prod: {
        baseApi: '//future.com/api',
        mockApi: ''
    }
}

export default {
    env,
    mock:true,
    // 将env的内容解构出来
    ...EnvConfig[env]
}


原文链接:https://blog.csdn.net/LQlove1/article/details/130803801

二、mock的配置及使用

为什么要使用mock?

因为在开发中,后端的接口在项目立项之后,不能立马出来。

前端就可以借助mock来自己模拟数据,这样就可以做到前后端进行同时开发。

不会出现前端一直在等后端接口的状况,能够大大提高开发效率。

1. 创建接口

2. 将接口根地址,放到config>index.js下的mockApi中

const EnvConfig = {
    // 开发环境
    dev: {
        baseApi: '/',
        mockApi: 'https://www.fastmock.site/mock/6b46cfbe37c3fe09a90faf0b12d89bff/api'
    },
    // 测试环境
    test: {
        baseApi: '//test.future.com/api',
        mockApi: 'https://www.fastmock.site/mock/6b46cfbe37c3fe09a90faf0b12d89bff/api'
    },
    // 生产环境
    prod: {
        baseApi: '//future.com/api',
        mockApi: 'https://www.fastmock.site/mock/6b46cfbe37c3fe09a90faf0b12d89bff/api'
    }
}

3、mock的使用

main.js中引入axios和config>index.js

使用axios发送异步请求获取到数据

import axios from 'axios'
import config from './config'

axios.get(config.mockApi + '/login').then((res) => {
    console.log(res);
})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Vue项目中,Mock是一种用于模拟接口数据的技术。它可以在测试过程中,用虚拟的对象来代替一些不容易构造或获取的对象,以便进行测试。\[1\] 在Vue项目中使用Mock,一般需要进行以下几个步骤: 1. 创建mock文件夹:在项目的src目录下创建一个名为mock的文件夹,用于存放Mock相关的文件。 2. 配置vue.config.js文件:在项目的根目录下找到vue.config.js文件(如果没有则需要手动创建),在该文件中进行Mock配置。可以通过配置webpack的devServer属性来启用Mock服务。 3. 编写Mock接口:在mock文件夹下创建一个index.js文件,用于配置Mock服务。在该文件中,可以使用Mock.js来模拟接口数据。可以根据需要创建多个模拟接口的文件,放在api文件夹下。 4. 在项目中使用Mock:在需要使用Mock数据的地方,可以通过import语句引入Mock接口文件,并使用其中定义的接口进行数据模拟。 5. 添加环境变量:为了在不同的环境中使用不同的Mock配置,可以在项目中添加环境变量,根据环境变量的值来判断是否启用Mock服务。\[2\]\[3\] 需要注意的是,Mock只在开发环境中使用,不会影响生产环境。在生产环境中,Mock相关的代码会被自动剔除。 #### 引用[.reference_title] - *1* *3* [mock在vue项目中的使用 —— json写法](https://blog.csdn.net/myisyourbb/article/details/118759231)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [在Vue项目中使用Mock](https://blog.csdn.net/weixin_42275702/article/details/117621167)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值