Vue3+Vite2环境变量配置,分别配置本地,测试,正式

简介: Vue3+Vite2环境变量配置,分别配置本地,测试,正式

第一步:

在Vue项目创建三个文件分别为.env .env.development .env.production与Vite.config.js同级别

//.env(配置本地开发地址)

VITE_HOST = '172.20.25.155'
VITE_PORT = 8080
VITE_BASE_URL = './'
VITE_OUTPUT_DIR = 'dist'
VITE_API_DOMAIN = 'http://10.1.1.111:8080/api/'//本地环境地址(可用于开发时联调)

//.env.development(配置测试环境地址)

NODE_ENV = development
VITE_API_DOMAIN = 'http://aaa.com:8080/api'//测试环境地址

//.env.production(配置正式环境地址)

NODE_ENV = production
VITE_API_DOMAIN = 'http://fund-wx.aisidicredit.com/wechat-api'//正式环境地址

第二步

Vite.config.js配置

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
const fs = require("fs")
const dotenv = require("dotenv")
const { resolve } = require('path') // 编辑器提示 path 模块找不到,可以yarn add @types/node --dev
export default ({ command, mode }) =>{
  let NODE_ENV =  process.env.NODE_ENV || 'development';
  let envFiles = [];
  //根据不同的环境使用不同的环境变量
  if(command == 'serve'){
    envFiles = [
      /** default file */
      `.env`
    ]
  }else{
    envFiles = [
      /** default file */
      `.env`,
      /** mode file */
      `.env.${NODE_ENV}`
    ]
  }
  for (const file of envFiles) {
    const envConfig = dotenv.parse(fs.readFileSync(file))
    for (const k in envConfig) {
      process.env[k] = envConfig[k]
    }
  }
  return defineConfig({
    plugins: [vue()],
    resolve: {
        alias: {
          '@': resolve(__dirname, 'src') // 设置 `@` 指向 `src` 目录
        }
    },
    server: {
      host: process.env.VITE_HOST,
      port: process.env.VITE_PORT,
      // 是否自动在浏览器打开
      open: true,
      // 是否开启 https
      https: false,
      // 服务端渲染
      ssr: false,
      base: process.env.VITE_BASE_URL,
      outDir: process.env.VITE_OUTPUT_DIR,
      proxy: {
        '/api': {
        target: 'http://api网关所在域名',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^/api/, '')
        },
      }
    },
  })
}

第三步package.json配置

//可根据自己的打包命令配置命令名称
"scripts": {
    "dev": "vite",
    "test": "cross-env vite build --mode development",
    "build": "cross-env vite build --mode production"
  }


相关文章
|
7天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
|
8天前
|
JavaScript 测试技术
Vue 3 单元测试实例
Vue 3 单元测试实例
19 4
|
8天前
|
JavaScript 测试技术 API
常见的 Vue 3 单元测试问题及解决方案
常见的 Vue 3 单元测试问题及解决方案
23 2
|
8天前
|
缓存 JavaScript 测试技术
Vue 3 单元测试最佳实践
Vue 3 单元测试最佳实践
13 1
|
1月前
|
JavaScript 数据可视化
vue-cli学习二:vue-cli3版本 创建vue项目后,Runtime-Compiler和Runtime-only两个模式详解;vue项目管理器;配置文件的配置在哪,以及如何配置
这篇文章详细介绍了Vue CLI 3版本创建项目时的Runtime-Compiler和Runtime-only两种模式的区别、Vue程序的运行过程、render函数的使用、eslint的关闭方法,以及Vue CLI 2和3版本配置文件的不同和脚手架3版本创建项目的配置文件配置方法。
40 3
vue-cli学习二:vue-cli3版本 创建vue项目后,Runtime-Compiler和Runtime-only两个模式详解;vue项目管理器;配置文件的配置在哪,以及如何配置
|
20天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
185 4
|
18天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
17 1
|
24天前
|
资源调度 JavaScript 前端开发
路由管理:Vue Router的使用和配置技巧
【10月更文挑战第21天】路由管理:Vue Router的使用和配置技巧
30 3
|
1月前
|
存储 前端开发 中间件
vue3之vite配置vite-plugin-mock使用mock轻松创建模拟数据提高开发效率
vue3之vite配置vite-plugin-mock使用mock轻松创建模拟数据提高开发效率
244 0
|
2月前
|
JavaScript
vue项目中使用vue-router进行路由配置及嵌套多级路由
该文章详细说明了如何在Vue项目中配置和使用vue-router进行单页面应用的路由管理,包括设置嵌套路由和实现多级路由导航的示例。
vue项目中使用vue-router进行路由配置及嵌套多级路由