Vue3+Vite +dotenvx读取.env文件参数

第一步:安装安装 dotenvx

第二步:查看版本 dotenvx --version

第三步:执行 dotenvx run -f .env.development -- npm run dev

第四步:读取import.meta.env.VITE_API_BASE_URL

会报错

解决方案:

安装浏览器兼容包:

项目根目录执行 npm install tty-browserify process 命令

然后修改Vite配置:

vite.config.js

import { defineConfig } from 'vite'

export default defineConfig({

resolve: {

alias: {

tty: 'tty-browserify',

process: 'process/browser'

}

},

define: {

'process.env.NODE_DEBUG': JSON.stringify(false)

}

})

这样就好了 然后读取就正常了

切换开发环境和生产环境参数

开发环境 dotenvx run -f .env.development -- npm run dev

生产环境 dotenvx run -f .env.production -- npm run dev

如何实现自由切换呢?

通过在 package.jsonscripts字段中预先定义好各环境的命令。

  1. 配置 package.json

    将你的命令固化到 scripts中,例如:

    复制代码

    json

    json

    复制

    复制代码
    {
      "scripts": {
        "dev": "dotenvx run -f .env.development -- npm run dev",
        "dev:prod": "dotenvx run -f .env.production -- npm run dev",
        "build": "vite build",
        "build:prod": "dotenvx run -f .env.production -- vite build",
        "preview": "vite preview"
      }
    }
  2. 使用命令

    • 开发环境 :执行 npm run dev

    • 模拟生产环境运行 :执行 npm run dev:prod

    • 构建生产包 :执行 npm run build:prod

    • 如果上边报错就用下边这种方式

{

"scripts": {

"dev": "vite --mode development",

"build:dev": "vite build --mode development",

"build:prod": "vite build --mode production",

"preview": "vite preview"

}

}

相关推荐
蓝黑202016 小时前
Vue组件通信之v-model
前端·javascript·vue
不会写DN18 小时前
Vue3中的computed 与 watch 的区别
javascript·面试·vue
钛态21 小时前
前端WebSocket实时通信:别再用轮询了!
前端·vue·react·web
蓝黑20201 天前
Vue组件通信之slot
前端·javascript·vue
蓝黑20201 天前
Vue的 value=“1“ 和 :value=“1“ 有什么区别
前端·javascript·vue
小彭努力中2 天前
204.Vue3 + OpenLayers:加载 GIF 文件(CSS 背景实现动画标记)
前端·css·vue·openlayers·geojson·webgis
陶甜也2 天前
3D智慧城市:blender建模、骨骼、动画、VUE、threeJs引入渲染,飞行视角,涟漪、人物行走
前端·3d·vue·blender·threejs·模型
NPCZ2 天前
vite与tailwindcss创建大屏可视化项目
vue
蓝黑20203 天前
Vue导入和注册组件
前端·javascript·vue
有来技术3 天前
Vite 8 全面 Rust 化!vue3-element-admin 升级实战,构建提速 65%
前端·vue.js·前端框架·vue