vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vite.config.ts加载.env环境变量

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()]
})

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文