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()]
})总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
