Vite+Vue3项目如何获取环境配置,并解决前端跨域问题

这篇具有很好参考价值的文章主要介绍了Vite+Vue3项目如何获取环境配置,并解决前端跨域问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

步骤

  • 根目录新建.env.development和.env.production文件

  • package.json配置启动参数

    vite命令启动项目时,指定mode参数,加载vite.config.ts文件。

"dev": "vite --host 0.0.0.0 --port 8093 --mode development",
"prod": "vite --port 8093 --host 0.0.0.0 --mode production",
"build:dev": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false && vite build --mode development",
"build:prod": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false && vite build --mode production",
  • 配置代理

在vite.config.ts中配置代理

server: {
      cors: true,
      proxy: {
        '/api': {
          target: VITE_SERVER_URL,
          changeOrigin: true,
          ws: true,
          rewrite: (path) => path.replace(/^\/api/, '') // 重写请求
        }
      }
    }
  • 配置vite-plugin-html

通过vite-plugin-html组件,可以将配置文件中的数据,绑定到index.html中,可以实现不同环境的页面title和logo。

createHtmlPlugin({
        inject: {
          data: {
            logo: VITE_LOGO,
            title: VITE_TITLE,
          },
        },
      }),

代码

准备

安装组件

"axios": "^1.6.7",
"vite-plugin-html": "^3.2.2",
"vue": "^3.4.15",

编码

.env.developent

# 开发环境配置
NODE_ENV='development'

# 本地服务端口
VITE_PORT=8093

# 后台服务地址
VITE_SERVER_URL='http://localhost:8083'

# 页面标题
VITE_TITLE='工具箱-dev'

# ICO
VITE_LOGO='/favicon-dev.ico'

# 超时时间(ms)
VITE_AXIOS_TIMEOUT=10000

.env.production

# 开发环境配置
NODE_ENV='production'

# 本地服务端口
VITE_PORT=12003

# 后台服务地址
VITE_SERVER_URL='http://192.168.31.3:11003/'

# 页面标题
VITE_TITLE='工具箱'

# ICO
VITE_LOGO='/favicon.ico'

# 超时时间(ms)
VITE_AXIOS_TIMEOUT=10000

vite.config.ts

import { fileURLToPath, URL } from 'node:url'

import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import {createHtmlPlugin} from 'vite-plugin-html';

// https://vitejs.dev/config/
export default (({mode}: {mode: string}) => {
  const VITE_ENV_CONFIG = loadEnv(mode, process.cwd());
  const VITE_SERVER_URL = VITE_ENV_CONFIG.VITE_SERVER_URL;
  const VITE_TITLE = VITE_ENV_CONFIG.VITE_TITLE;
  const VITE_LOGO = VITE_ENV_CONFIG.VITE_LOGO;

  return defineConfig({
    plugins: [vue(), vueJsx(),
      createHtmlPlugin({
        inject: {
          data: {
            logo: VITE_LOGO,
            title: VITE_TITLE,
          },
        },
      }),
    ],
    resolve: {
      alias: {
        '@': fileURLToPath(new URL('./src', import.meta.url))
      }
    },
// 配置代理,解决跨域问题
    server: {
      cors: true,
      proxy: {
        '/api': {
          target: VITE_SERVER_URL,
          changeOrigin: true,
          ws: true,
          rewrite: (path) => path.replace(/^\/api/, '') // 重写请求
        }
      }
    }
  },)
})

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

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8">
    <link rel="icon" href="<%= logo %>">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><%= title %></title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.ts"></script>
  </body>
</html>

到了这里,关于Vite+Vue3项目如何获取环境配置,并解决前端跨域问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • vite搭建vue3项目本地环境自定义域名及端口配置

    本blog讲述的是vite直接创建的vue3的项目的本地环境自定义域名配置。 windows 首先配置本地的一个域名代理指向。 在windows环境下host文件的位置是 C:WindowsSystem32driversetc 我们需要打开目录下的hosts文件然后在 其中找到127.0.0.1然后在后面追加一行 Mac 在mac系统中我们需要打开终

    2024年02月06日
    浏览(94)
  • 前端新手Vue3+Vite+Ts+Pinia+Sass项目指北系列文章 —— 第十二章 常用工具函数 (Utils配置)

    在项目开发中,我们经常会使用一些工具函数,也经常会用到例如 loadsh 等工具库,但是这些工具库的体积往往比较大,如果项目本身已经引入了这些工具库,那么我们就没有必要再引入一次,所以我们需要自己封装一些工具函数,来简化我们的开发。 在 src/utils 目录下创建

    2024年02月20日
    浏览(40)
  • Vite + Vue3 实现前端项目工程化

    Vue3 发布至今,周边的生态、技术方案已足够成熟,个人认为新项目是时候切换到 Vite + Vue3 了。今天就给大家操作一下这种技术方案实现前端工程化。 数字化管理平台 Vue3+Vite+VueRouter+Pinia+Axios+ElementPlus Vue权限系统案例 个人博客 通过官方脚手架初始化项目 第一种方式,这是使

    2024年02月03日
    浏览(39)
  • vue3+vite配置环境变量

    新建 .env(所有环境生效).env.development(开发环境配置) .env.production(生产环境配置) 以 VITE_ 为前缀定义变量 修改vite-env.d.ts 使用 loadEnv 读取环境变量 使用npm run dev 启动命令,读取.env 与 .env.development的内容 修改package.json 使用 npm run test启动命令,读取.env 与 .env.test的内容

    2024年02月11日
    浏览(32)
  • Vue3+vite环境变量配置

    在项目开发中,通常来说,不同的环境会有不同的请求api接口,这就需要修改配置,才能满足对应的环境。所以这里就使用了环境变量。环境变量就是在不同的环境中使用不同的变量值。 在项目根目录(和src同级)中创建三个文件: .env.development  .env.staging .env.production 定义

    2024年02月05日
    浏览(29)
  • vue3 + Tailwind Css + Vite 搭建快速开发前端样式环境

    一个功能类优先的 CSS 框架,用于快速构建定制的用户界面。这是来自 TailwindCss 官方定义。 中文网站 Tailwindcss 基于原子化理念,将样式重复性代码降到最小,原本开发最大限度基于类名的声明块不重复,现在Tailwindcss基于单独一句声明不重复。 活跃度 github starts 数量达到

    2024年02月04日
    浏览(40)
  • 手把手完成前端Vue3 + Vite项目工程化搭建

    基于 Vue3 + Vite 搭建的前端工程化项目演示模板 开发环境: Node.js v16.14.2 + npm v8.3.2 开发工具: Visual Studio Code or WebStorm 源代码管理: Git npm镜像: npm config set registry https://registry.npmmirror.com 技术栈 描述 Vue 渐进式 JavaScript 框架 Vite 新一代前端开发与构建工具 Element Plus 基于 Vue

    2024年04月11日
    浏览(37)
  • 【Vue3实践】(六)Vue3使用vite处理环境变量、打包部署、nginx配置

    由于在日常开发中会有一部分前端的开发任务,会涉及到Vue的项目的搭建、迭代、构建发布等操作,所以想系统的学习一下Vue相关的知识点,本专题会依照Vue的搭建、开发基础实践、进阶用法、打包部署的顺序进行记录。 历史文章链接如下: 《Vue3搭建、路由配置与基本语法

    2023年04月08日
    浏览(39)
  • Vite4 + Vue3 项目打包并发布Nginx服务器 (前端必看)

    这里因为我们有的小伙伴可能不太需要服务器,单纯学习的话也没有必要去买一个服务器。如果需要把自己的东西部署到公网上,有很多方式,自行百度。你也可以购买阿里云或者腾讯云。逻辑都是一样的,我这里使用的虚拟机+centos系统,我已经提前在自己的机器安装好了。

    2024年02月05日
    浏览(67)
  • vue3+vite中使用环境变量 .env 的一些配置情况说明

    在项目文件中新建文件.env .env.pro 两个文件其中.env 是默认设置 .env.pro 为正式环境设置 1、设置.env中的内容信息 注意vue3+vite 必须使用VITE开头的配置信息 否则无法获取 如果不想使用VITE开头自己修改就在vite.config.ts文件中添加envPrefix:“APP_” 2、在 vite 中使用环境变量,可以用

    2024年02月04日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包