vue开发者vite多环境配置,终于搞明白了

这篇具有很好参考价值的文章主要介绍了vue开发者vite多环境配置,终于搞明白了。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

vue开发者vite多环境配置,终于搞明白了

在看项目的过程中,发现有类似服务端多环境配置的配置,所以研究了下,在网上有多个方案,选了一个当前在用的吧,另外一个没验证

1、原理

对于使用Vite构建的Vue项目,可以使用Vite提供的环境变量来实现多环境配置。

Vite 使用 dotenv 从 环境文件目录 中加载环境文件,默认情况下,环境文件目录为项目的根目录,即把环境文件放在项目根目录下。

环境文件命名如下:

.env                # 所有情况下都会加载
.env.local          # 所有情况下都会加载,但会被 git 忽略
.env.[mode]         # 只在指定模式下加载
.env.[mode].local   # 只在指定模式下加载,但会被 git 忽略

不同环境的变量可以定义在 .env.[mode] 文件中,如 .env.dev.env.prod 等,如果 .env 文件和 .env.[mode] 中有相同的 key,后者定义的值会覆盖前者。

这里咱们以三个环境为例编写 demo,分别是:

  • 开发环境,mode 为 dev,文件名为 .env.dev
  • 测试环境,mode 为 uat,文件名为 .env.uat
  • 生产环境,mode 为 prod,文件名为 .env.prod

2、创建配置文件 

使用 .env 文件来设置特定环境的变量。Vite 会自动加载 .env 文件,而且支持使用不同的 .env 文件来为不同的环境提供变量。

在项目根目录下创建.env.dev.env.test.env.prod等环境变量文件,并在其中定义各个环境的变量。例如:

NODE_ENV="development"
VITE_BASE_API="http://172.26.1.152:80"
VITE_BASE_WS="ws://172.26.1.152:18083"

注意,变量名必须以VITE_开头,这是Vite默认的前缀。

3、使用多环境配置

package.json中配置启动脚本,使用配置

  "scripts": {
    "dev": "vite --mode dev",
    "test": "vite --mode test",
    "prod": "vite --mode prod",
    "build": "vue-tsc && vite build",
    "build:dev": "vue-tsc --noEmit && vite build --mode dev",
    "build:prod": "vue-tsc --noEmit && vite build --mode prod",
    "preview": "vite preview"
  },

4、使用环境变量

在Vue组件中使用环境变量:

<template>
  <div>
    <p>{{ apiURL }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      apiURL: import.meta.env.VITE_BASE_API
    }
  }
}
</script>

在Vue组件中可以通过import.meta.env.VITE_API_URL来访问环境变量。

5、关于编辑器提示

可以添加 vite-env.d.ts解决。如果不存在这个文件,在 src 目录下创建文件 vite-env.d.ts,我的项目下有,不记得是不是自己手动创建了

/// <reference types="vite/client" />
​
interface ImportMetaEnv {
  readonly VITE_BASE_API: string;
  readonly VITE_BASE_WS: string;
}
​

6、最后验证下

main.ts 打印下环境变量

vue开发者vite多环境配置,终于搞明白了

客户端访问,打开控制台可以看到环境变量,试着切换下看看生效了吗

vue开发者vite多环境配置,终于搞明白了

7、process.env和import.meta.env

process.env是Node.js中的全局变量,用于访问进程中的环境变量。在前端开发中,我们通常使用Webpack等构建工具来打包应用程序,因此需要在构建过程中设置环境变量。在Webpack中,可以使用DefinePlugin插件将环境变量注入到应用程序中,然后在代码中通过process.env来访问这些变量。

例如,在Webpack中设置一个名为API_URL的环境变量,可以在代码中通过process.env.API_URL来访问它:

// webpack.config.js
module.exports = {
  plugins: [
    new webpack.DefinePlugin({
      'process.env.API_URL': JSON.stringify('https://api.example.com')
    })
  ]
}

// app.js
console.log(process.env.API_URL) // 'https://api.example.com'

import.meta.env是在ES模块中定义的全局变量,用于访问Vite构建的应用程序中的环境变量。在Vite中,可以在.env文件中定义环境变量,然后在Vue组件和JavaScript模块中通过import.meta.env来访问这些变量。

需要注意的是,process.envimport.meta.env的作用域不同,前者作用于整个Node.js进程,后者只作用于当前的JavaScript模块或Vue组件。因此,它们的用法和使用场景也有所不同。

 文章来源地址https://www.toymoban.com/news/detail-457620.html


推荐一本书

  1. 树立正确的Git观念,可以让你在工作中选用正确的Git指令。
  2. 终端机指令搭配图行界面工具,使学习效率倍增。
  3. 不只教你如何用,还能让你知道自己在用什么,以及为什么要这么用。

京东自营购买链接:

《Git从入门到精通》(高见龙)【摘要 书评 试读】- 京东图书

 vue开发者vite多环境配置,终于搞明白了

 

到了这里,关于vue开发者vite多环境配置,终于搞明白了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java开发者必备:支付宝沙箱环境支付远程调试指南

    🔥 博客主页 : 小羊失眠啦. 🔖 系列专栏 : C语言 、 Linux 、 Cpolar ❤️ 感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 在沙箱环境调试支付SDK的时候,往往沙箱环境部署在本地

    2024年02月08日
    浏览(57)
  • vue的开发者工具下载『保姆级别』

    1.先进官网 极简插件_Chrome扩展插件商店_优质crx应用下载 (zzzmh.cn) 2.搜索vue devtools,点击进去  3.下载插件  4.下载到文件下你自己的文件下:我的是下载到E盘下。  5.压缩到当前目录下  6.电脑进入拓展程序(不同的浏览器操作不同!) 谷歌浏览器如下:  Edge浏览器 :右上角

    2024年02月12日
    浏览(45)
  • 配置小程序开发者工具及其使用(上)

    本章主要介绍: 如何配置小程序开发工具 开发工具的基本操作使用 如何创建小程序项目和调试代码 配置小程序开发工具是开始进行小程序开发的重要步骤。下面是一个简要的配置指南: 下载小程序开发工具:首先,你需要下载并安装微信小程序开发工具。官方提供了适用

    2024年02月12日
    浏览(39)
  • Mac系统搭建selenium环境报:无法打开“chromedriver”,因为无法验证开发者 解决办法

    1.安装selenium 打开terminal,使用以下命令安装selenium: pip install -U selenium 2.下载Chromedriver chromedriver 应与chrome版本匹配!!! 在Chrome中输入:chrome://version/ 查看Chrome的版本号信息 然后去地址: https://registry.npmmirror.com/binary.html?path=chromedriver/ 找到和自己Chrome浏览器版本匹配的Chrome dri

    2024年02月06日
    浏览(74)
  • Java必备技能之环境搭建篇 (linux ab压力测试),致Java开发者

    详情说明: -n在测试会话中所执行的请求个数。默认时,仅执行一个请求。请求的总数量 -c一次产生的请求个数。默认是一次一个。请求的用户量 -t测试所进行的最大秒数。其内部隐含值是-n 50000,它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限

    2024年04月27日
    浏览(40)
  • uni-app配置微信开发者工具

    工具-设置-运行配置-小程序运行配置-微信开发者工具路径

    2024年02月07日
    浏览(51)
  • 8年前端与众不同的Vue实战系列,助你成为前端顶级开发者

    目录 一、写这个Vue实战系列专栏的初衷 1. 帮朋友做推荐 2. 市面上卖源码的多,讲实战项目过程的少 3. 想到了自己刚毕业的时候 二、 本专栏的优势  1. 需求的适应性强 2. 技术主流  三、 读完本专栏,你可以得到什么 1. 帮朋友做推荐 我记得最初的时候,我也只是单纯的分享

    2024年02月02日
    浏览(58)
  • Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup

    2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王) github上的tags地址:https://github.com/vuejs/vue-next/releases/tag/v3.0.0 性能的提升、源码的升级、更好的支持TypeScript、新的特性 官方文档 确保vue/cli版本在4.5.0以上 vue --version 安装或者升级@vue/cli npm install -g @vue/cli 创建 vue crea

    2023年04月11日
    浏览(49)
  • 【三方登录-Apple】iOS 苹果授权登录(sign in with Apple)之开发者配置一

    记录一下sign in with Apple的开发者配置 关于使用 Apple 登录 使用“通过 Apple 登录”可让用户设置帐户并使用其Apple ID登录您的应用程序和关联网站。首先使用“使用 Apple 登录”功能启用应用程序的App ID 。 如果您是首次启用应用程序 ID 或为新应用程序启用应用程序 ID,请启用该

    2024年02月06日
    浏览(71)
  • 在Chrome(谷歌浏览器)中安装Vue.js devtools开发者工具及解决Vue.js not detected报错

    提示:先安装谷歌助手的原因是:不安装谷歌助手无法打开谷歌应用商店,导致无法下载Vue.js devtools开发者工具。

    2024年02月15日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包