searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Vue3在index.html使用环境变量

2024-03-04 08:25:15
746
0

背景:

基于Vue3 + Vite搭建前端项目,在项目开发的过程中需要使用外部js、css文件,并且在本地运行和线上打包时加载的js、css路径不同。那么就需要根据环境变量来判断如何加载js、css文件,本文主要讲述基于Vue3搭建的项目如何在index.html中使用环境变量。

实现:

1.下载插件

npm i vite-plugin-html -D

2.在vite.config.ts中进行配置

import { createHtmlPlugin } from 'vite-plugin-html'
export default ({ mode, command }: { mode: any, command:any }) => {
    const env = loadEnv(mode, process.cwd())
    return defineConfig({
        plugins: [
            createHtmlPlugin({
                /**
                 * 需要注入 index.html ejs 模版的数据
                 */
                inject: {
                  data: {
                    VITE_BUILD_MODE: env.VITE_BUILD_MODE,  
                  },
                },
              })
        ]
    })
}

3.在index.html中注入的环境变量,根据不同环境变量加载不同css文件。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <link rel="icon" href="/favicon.ico">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <% if (VITE_BUILD_MODE === 'test') { %>
      <link rel="stylesheet" type="text/css" href="https://test.com.cn/style1.css" />
    <% } else {%>
      <link rel="stylesheet" type="text/css" href="https://test.com.cn/style2.css" />
    <% } %>
    <title>test</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.ts"></script>
  </body>
</html>

总结

至此,就可以在index.html中实现不同环境处理加载不同资源啦。本方案适用于Vue3搭建的项目,如叙述有问题,欢迎大家及时指正。

0条评论
0 / 1000
w****n
14文章数
0粉丝数
w****n
14 文章 | 0 粉丝
原创

Vue3在index.html使用环境变量

2024-03-04 08:25:15
746
0

背景:

基于Vue3 + Vite搭建前端项目,在项目开发的过程中需要使用外部js、css文件,并且在本地运行和线上打包时加载的js、css路径不同。那么就需要根据环境变量来判断如何加载js、css文件,本文主要讲述基于Vue3搭建的项目如何在index.html中使用环境变量。

实现:

1.下载插件

npm i vite-plugin-html -D

2.在vite.config.ts中进行配置

import { createHtmlPlugin } from 'vite-plugin-html'
export default ({ mode, command }: { mode: any, command:any }) => {
    const env = loadEnv(mode, process.cwd())
    return defineConfig({
        plugins: [
            createHtmlPlugin({
                /**
                 * 需要注入 index.html ejs 模版的数据
                 */
                inject: {
                  data: {
                    VITE_BUILD_MODE: env.VITE_BUILD_MODE,  
                  },
                },
              })
        ]
    })
}

3.在index.html中注入的环境变量,根据不同环境变量加载不同css文件。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <link rel="icon" href="/favicon.ico">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <% if (VITE_BUILD_MODE === 'test') { %>
      <link rel="stylesheet" type="text/css" href="https://test.com.cn/style1.css" />
    <% } else {%>
      <link rel="stylesheet" type="text/css" href="https://test.com.cn/style2.css" />
    <% } %>
    <title>test</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.ts"></script>
  </body>
</html>

总结

至此,就可以在index.html中实现不同环境处理加载不同资源啦。本方案适用于Vue3搭建的项目,如叙述有问题,欢迎大家及时指正。

文章来自个人专栏
前端开发成长之路
14 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0