vite配置详解

随着前端技术的发展,越来越多的前端项目采用VUE、React等前端框架进行开发。而vite作为一款基于ES6模块服务器的构建工具,被越来越多的开发者所使用。本文将从多个方面对vite配置做详细的阐述,帮助开发者更好地使用vite构建前端项目

一、vite配置跨域

在前端项目中,不可避免地需要与后端接口进行交互。由于同源策略的限制,我们需要进行跨域设置。在vite项目中,可以通过配置文件解决跨域问题。以下是一个简单的跨域配置示例:

export default {
  server: {
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        rewrite: path => path.replace(/^\/api/, ''),
      },
    },
  },
}

以上配置的含义是将所有以/api开头的请求转发到http://localhost:3000上。其中rewire属性的作用是将请求路径中的/api去掉,这样就能顺利地转发到后端API服务器了。

二、vite配置两个访问地址

vite将运行地址和构建后的地址分离开来,开发环境默认运行在localhost:3000,在浏览器地址栏中输入localhost:5000或localhost:3000可以访问到同一个页面,便于开发和调试。下面是相关配置:

export default {
  server: {
    port: 3000,
    proxy: {
      '/api': {
        target: 'http://localhost:5000',
        rewrite: path => path.replace(/^\/api/, ''),
      },
    },
  },
  build: {
    outDir: 'dist',
    assetsDir: 'static',
    assetsInlineLimit: 4096,
  }
}

三、vite配置vue

对于使用vue进行开发的项目,需要进行相关配置才能运行。以下是相关配置:

import { createApp } from 'vue'
import App from './App.vue'

createApp(App).mount('#app')

在代码中引入vue,并创建vue实例。同时需要在vite.config.js中配置以下内容:

import vue from '@vitejs/plugin-vue'

export default {
  plugins: [
    vue()
  ]
}

四、vite配置输出路径

在vite中,可以通过设置outDir来配置输出路径。例如:

export default {
  build: {
    outDir: 'dist',
  }
}

以上配置意味着运行vite build命令时,输出文件将会存在dist文件夹下。

五、vite配置cdn

对于一些通用的库如Vue、React、Lodash等,我们可以将其引用地址替换为CDN资源地址,以提高打包构建的速度和减少前端资源的下载。以下是相关配置:

export default {
  build: {
    rollupOptions: {
      output: {
        manualChunks: {
          vendor: ['react', 'react-dom']
        }
      }
    }
  }
}

六、vite配置代理

在开发过程中,我们往往需要连接后端服务器进行开发、调试。为了方便调试,我们可以将请求代理到后端服务器,避免跨域等问题。以下是相关配置:

export default {
  server: {
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        changeOrigin: true,
        rewrite: path => path.replace(/^\/api/, '')
      }
    }
  }
}

七、vite配置axios

对于需要发送请求的项目,我们可以使用Axios来实现HTTP请求。以下是相关配置:

import axios from 'axios'
import { createApp } from 'vue'
import App from './App.vue'

const app = createApp(App)
app.config.globalProperties.$http = axios
app.mount('#app')

八、vite配置环境变量

在不同的环境中,我们需要使用不同的参数,例如开发环境中需要使用开发服务器的地址,而线上环境中则需要使用线上服务器的地址。这时我们就需要使用环境变量来实现不同环境参数的切换。以下是相关配置:

export default {
  define: {
    'process.env': {
      BASE_URL: process.env.NODE_ENV === 'production'
        ? '/production-sub-path/'
        : '/'
    }
  }
}

九、vite配置对象合并

当我们需要在多个对象之间拷贝属性时,我们可以使用对象合并。在vite中,对象合并可以通过插件来实现。以下是相关配置:

import merge from 'deepmerge'

export default {
  plugins: [
    {
      name: 'merge-config',
      config(config) {
        return merge(config, {
          build: {
            cssCodeSplit: false
          }
        })
      }
    }
  ]
}

以上代码表示将build对象中的cssCodeSplit属性设置为false

通过以上详细的阐述,希望能够帮助到开发者更好地使用vite构建前端项目,提高开发效率。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/184320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-25 17:22
下一篇 2024-11-25 17:23

相关推荐

  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25
  • Python安装OS库详解

    一、OS简介 OS库是Python标准库的一部分,它提供了跨平台的操作系统功能,使得Python可以进行文件操作、进程管理、环境变量读取等系统级操作。 OS库中包含了大量的文件和目…

    编程 2025-04-25
  • Java BigDecimal 精度详解

    一、基础概念 Java BigDecimal 是一个用于高精度计算的类。普通的 double 或 float 类型只能精确表示有限的数字,而对于需要高精度计算的场景,BigDeci…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25

发表回复

登录后才能评论