vite.config.ts如何加载.env环境变量
作者:ZhuAiQuan
这篇文章主要介绍了vite.config.ts加载.env环境变量方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
vite.config.ts加载.env环境变量
在阅读vite文档的时候,我们知道vite的环境变量 是在一个特殊的对象上,默认只有前缀为 VITE_ 的环境变量会被加载。
Vite 在一个特殊的 import.meta.env 对象上暴露环境变量。
vite在读取config配置的时候(比如说本地代理proxy的时候,或者想要在不同环境做不一样的配置)想要拿到配置好的环境变量,无法像vue-cli脚手架那样直接用process.env.xxx来获取,也不能直接使用import.meta.env.xxx,需要用到vite提供的一个方法来读取环境变量。
需要使用vite提供的 loadEnv来加载环境变量:
import { loadEnv } from "vite";
修改暴露出去的配置
export default ({ mode }) => { ?? ?const env = loadEnv(mode, process.cwd()); ?? ?return defineConfig({ ?? ??? ?... ?? ?}) }
此时的env就相当于import.meta.env
vite.config.ts基础配置项记录
使用vite创建vue3+ts项目时,需要对vite.config.ts(同vue2中vue.config.js)进行一些基础配置
import { defineConfig } from "vite" import vue from "@vitejs/plugin-vue" // 以上两项生成项目时默认就有,不需要配置 import path from 'path' // 配置文件路径相关时,需要用到此项 由于node不支持ts,需要安装依赖以便支持 需执行如下命令 npm install @types/node --save-dev // https://vitejs.dev/config/ export default defineConfig({ base: process.env.NODE_ENV === 'production' ? './' : '/', //静态资源访问路径 resolve: { alias: { // 设置别名 '@': path.resolve(__dirname, 'src') // 用 @ 符号替换 src 文件路径 } }, build: { outDir: 'dist', assetsDir: 'assets', // 指定静态资源存放路径 sourcemap: false, // 是否构建source map 文件 terserOptions: { // 生产环境移除console compress: { drop_console: true, drop_debugger: true } } }, server: { https: false, // 是否开启https port: 8080, // 端口号 open: true, // 配置后,运行项目是自动启动浏览器 proxy: { // 本地代理 '/api': { target: "", // 后端接口 changeOrigin: true, secure: false, // 如果是https接口,需要配置这个参数 // ws: true, // websocket支持 rewrite: (path) => path.replace(/^\/api/, "") } } }, // 引入第三方的配置 optimizeDeps: { include: [] }, plugins: [vue()] })
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。