vue-cli的index.html中使用环境变量方式

yizhihongxing

首先,为了使用vue-cli中的环境变量,我们需要在根目录下新建一个.env文件。在这个文件中,我们可以设置自定义的环境变量,并以VUE_APP_为前缀命名,例如:VUE_APP_BASE_API=http://localhost:3000。这样,在我们的项目中就可以使用process.env.VUE_APP_BASE_API调用这个环境变量了。

接下来,我们需要在index.html中使用这个环境变量。具体过程是在index.html文件中,使用%PUBLIC_URL%进行占位,并在JavaScript中替换这个占位符为我们定义的环境变量,代码实现如下:

<!-- index.html -->
<!DOCTYPE html>
<html>
  <head>
    <title>Vue App</title>
    <script>
      // 注意:这里的变量名一定要与.env中定义的变量名一致
      const BASE_API = '<%= process.env.VUE_APP_BASE_API %>';
    </script>
  </head>
  <body>
    <div id="app"></div>
    <script src="./dist/js/app.js"></script>
  </body>
</html>

注意,这里的占位符<%= process.env.VUE_APP_BASE_API %>使用的是ejs模板语法。

假设我们在.env文件中定义了一个环境变量VUE_APP_BASE_API=http://localhost:3000,那么上述代码中的BASE_API变量就会被替换为http://localhost:3000

除了上述的方式,我们还可以使用webpack的DefinePlugin插件来在JavaScript代码中直接访问这些环境变量,代码实现如下:

// webpack.config.js
const webpack = require('webpack')
const dotenv = require('dotenv')

// 加载根目录下的.env文件
const env = dotenv.config().parsed

// 用env的值替换process.env中的变量
const envKeys = Object.keys(env).reduce((prev, next) => {
  prev[`process.env.${next}`] = JSON.stringify(env[next])
  return prev
}, {})

module.exports = {
  // ...其他的配置
  plugins: [
    new webpack.DefinePlugin(envKeys)
  ]
}

在上述代码中,首先我们使用dotenv模块来加载根目录下的.env文件,并将其中的变量设置为环境变量。然后,我们使用webpack的DefinePlugin插件将这些环境变量注入到JavaScript代码中,使得我们可以在代码中直接访问它们,例如process.env.VUE_APP_BASE_API

使用这种方式,我们可以在任何JavaScript文件中都可以访问这些环境变量,而不需要在每个文件都手动引入占位符并替换它们。同时,以上方式也支持在vue组件中使用这些环境变量。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue-cli的index.html中使用环境变量方式 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • 数据库设计技巧奉送了

    数据库设计技巧是一个让数据存储和查询变得更加高效和准确的重要过程。在这里,我将为您提供关于数据库设计技巧的完整攻略。 步骤1:需求分析 在设计数据库之前,我们需要先分析需求。这是一个非常关键的步骤,因为它可以帮助我们确定数据库应该包括哪些数据表和数据字段。在此过程中,我们需要明确问题的目的、特点、环境、限制等。这一步能够让我们更加有效地编写数据库的设计。 步…

    other 2023年6月25日
    00
  • iqoo3如何开启开发者选项 iqoo3开启开发者选项方法

    iQOO3如何开启开发者选项 iQOO3是一款搭载了Android操作系统的智能手机,开启开发者选项可以让用户获得更多的操作权限和调试功能。下面我们详细讲解iQOO3开启开发者选项的方法。 步骤一:进入设置界面 首先,点击手机桌面上的“设置”图标,进入手机设置。 步骤二:打开关于手机 在设置界面中,向下滑动找到“关于手机”选项并点击进入。 步骤三:点击版本号…

    other 2023年6月26日
    00
  • 微信小程序开发自定义tabBar实战案例(定制消息99+小红心)

    下面是关于“微信小程序开发自定义tabBar实战案例(定制消息99+小红心)”的完整攻略。 简介 为了提升小程序的用户体验,我们常会对小程序进行定制化的开发,比如:自定义 tabbar、菜单等等,本文主要讲解如何开发自定义 tabbar,其中包括定制消息 99+ 的小红心,希望对大家进行小程序开发提供一些帮助。 前置知识 在进行本文所述内容的开发前,你需要掌…

    other 2023年6月25日
    00
  • java浏览器控件jxbrowser(简单demo模拟自动登录与点击)

    以下是详细讲解“Java浏览器控件JxBrowser(简单Demo模拟自动登录与点击)”的标准Markdown格式文本: Java浏览器控件JxBrowser(简单Demo模拟自动登录与点击) JxBrowser是一个Java浏览器控件,可以在Java应用程序中嵌入浏览器功能。本攻略将介绍如何使用JxBrowser模拟自动登录和点击操作,包括添加依赖、创建浏…

    other 2023年5月10日
    00
  • android生命周期深入分析(一)

    针对“android生命周期深入分析(一)”文中的内容,完整攻略如下: 标题 Android生命周期深入分析(一) 前言 生命周期对于Android开发是一门基本功,对于初学者来说也是一个必须掌握的知识点。在这篇文章中,我们将深入探讨Android生命周期的各个阶段。 正文 Activity生命周期中的各个阶段 Activity是Android生命周期中最重…

    other 2023年6月27日
    00
  • Jquery 在页面加载后执行的几种方式

    Jquery 在页面加载后执行有多种方式,下面详细说明一下这些方式: 监听$(document).ready() Jquery 提供了一个监听 DOM 加载完成的事件,可以使用$(document).ready()方法来处理这个事件。代码示例如下: $(document).ready(function() { // 在这里写需要执行的代码 }); 这个方法的…

    other 2023年6月25日
    00
  • 【图文】迅雷会员钻石子账号怎么设置?

    【图文】迅雷会员钻石子账号怎么设置? 什么是迅雷会员钻石子账号? 迅雷会员钻石子账号是指开通迅雷会员之后,可以给家人或朋友赠予开通会员的子账号。子账号可以独立开通和管理会员,享受会员权益,但子账号的开通费用由主账号支付。 如何设置迅雷会员钻石子账号? 步骤如下: 登录迅雷会员账号,进入“个人中心”页面。 点击左侧菜单栏中的“子账号管理”。 点击“创建子账号”…

    other 2023年6月27日
    00
  • c语言 字符串的拼接和分割实例

    C语言字符串的拼接 在C语言中,可以使用strcat()函数将两个字符串进行拼接。它的原型如下: char *strcat(char *dest, const char *src); 其中,dest表示目标字符串,会在其后添加src所指向的字符串;src表示要添加到目标字符串dest中的源字符串,它不会被修改。 下面是一个示例代码,演示如何使用strcat(…

    other 2023年6月20日
    00
合作推广
合作推广
分享本页
返回顶部