Vite的常见配置选项详细说明

 更新时间:2024年09月02日 10:57:20   作者:突然好热  
相信大部分兄弟都体验过Vite了,都知道它很快,在学习的时候,官网上的各种配置也是看的眼花缭乱,不知道哪些是必要掌握的,下面这篇文章主要给大家介绍了关于Vite常见配置选项的相关资料,需要的朋友可以参考下

选项详细说明

base: 配置基础路径

通常用于指定应用在生产环境中的路径前缀。

build: 构建选项

outDir: 输出目录。
assetsDir: 存放静态资源的目录。
assetsInlineLimit: 静态资源内联限制。
cssCodeSplit: 启用/禁用 CSS 代码拆分。
sourcemap: 生成 sourcemap 文件。
rollupOptions: Rollup 相关配置。
minify: 启用/禁用压缩。可以选择 esbuild 或 terser,也可以设置为 false。
chunkSizeWarningLimit: 触发警告的 chunk 大小限制。
emptyOutDir: 构建前清空输出目录。
manifest: 生成 manifest 文件。
ssrManifest: 生成 SSR manifest 文件。
target: 构建目标。

server: 开发服务器配置

host: 服务器主机。
port: 服务器端口。
strictPort: 如果端口被占用,是否退出。
https: 启用 https。
open: 自动打开浏览器。
proxy: 配置代理。
cors: 启用 CORS。
hmr: 热模块替换配置。

preview: 预览服务器配置

类似于 server,但用于 vite preview 命令。## plugins: 配置插件。

css: CSS 相关配置

preprocessorOptions: CSS 预处理器选项。
postcss: PostCSS 配置。

resolve: 解析选项

alias: 路径别名。
extensions: 自动解析扩展名。

esbuild: ESBuild 配置

jsxFactory: JSX 工厂函数。
jsxFragment: JSX 片段。
jsxInject: 注入 JSX 工厂函数。
minify: 启用/禁用压缩。

assetsInclude: 指定静态资源文件类型

define: 定义全局常量替换

logLevel: 日志级别

envPrefix: 环境变量前缀

json: JSON 配置

namedExports: 启用命名导出。
stringify: 启用 JSON 字符串化。

worker: Worker 配置

format: Worker 格式。
plugins: Worker 插件。

这些选项覆盖了大多数 Vite 项目的常见配置需求。根据你的项目需求,可以灵活地配置这些选项。如果有更多的自定义需求,还可以参考 Vite 官方文档 了解详细的配置选项和用法。

import { defineConfig } from 'vite'

export default defineConfig({
  // 基础路径
  base: '/',
  
  // 输出目录
  build: {
    outDir: 'dist',
    assetsDir: 'assets',
    assetsInlineLimit: 4096,
    cssCodeSplit: true,
    sourcemap: false,
    rollupOptions: {
      input: 'src/main.js',
      output: {
        // 可以配置输出选项
      },
    },
    minify: 'esbuild', // 'terser' 或者 false
    chunkSizeWarningLimit: 500,
    emptyOutDir: true,
    manifest: false,
    ssrManifest: false,
    target: 'modules',
  },
  
  // 开发服务器配置
  server: {
    host: 'localhost',
    port: 3000,
    strictPort: false,
    https: false,
    open: true,
    proxy: {
      '/api': {
        target: 'http://backend.api',
        changeOrigin: true,
        rewrite: path => path.replace(/^\/api/, '')
      }
    },
    cors: true,
    hmr: true, // 热模块替换
  },
  
  // 预览服务器配置
  preview: {
    host: 'localhost',
    port: 5000,
    strictPort: false,
    https: false,
    open: true,
    cors: true,
  },
  
  // 插件
  plugins: [
    // 在这里添加插件
  ],
  
  // CSS 相关配置
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: `$injectedColor: orange;`
      }
    },
    postcss: {
      plugins: [
        // PostCSS 插件
      ]
    },
  },
  
  // 解析配置
  resolve: {
    alias: {
      '@': '/src',
    },
    extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'],
  },
  
  // ESBuild 配置
  esbuild: {
    jsxFactory: 'h',
    jsxFragment: 'Fragment',
    jsxInject: `import React from 'react'`,
    minify: true,
  },
  
  // 静态资源处理
  assetsInclude: ['**/*.gltf'],

  // 定义全局常量替换
  define: {
    __APP_VERSION__: JSON.stringify('1.0.0'),
  },
  
  // 日志级别
  logLevel: 'info', // 'info', 'warn', 'error', 'silent'

  // 环境变量前缀
  envPrefix: 'VITE_',

  // JSON 配置
  json: {
    namedExports: true,
    stringify: false,
  },

  // Worker 配置
  worker: {
    format: 'iife',
    plugins: []
  }
})

总结 

到此这篇关于Vite的常见配置选项的文章就介绍到这了,更多相关Vite常见配置选项内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈使用Vue完成移动端apk项目

    浅谈使用Vue完成移动端apk项目

    这几天,我做了一个vue移动端的小项目,本文主要介绍了Vue移动端apk项目,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • vue实现点击按钮下载文件功能

    vue实现点击按钮下载文件功能

    这篇文章主要介绍了vue中点击按钮下载文件,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Vue3如何获取来源路由

    Vue3如何获取来源路由

    这篇文章主要介绍了Vue3如何获取来源路由问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 在vue项目中优雅的使用SVG的方法实例详解

    在vue项目中优雅的使用SVG的方法实例详解

    本文旨在介绍如何在项目中配置和方便的使用svg图标。本文以vue项目为例给大家介绍在vue项目中优雅的使用SVG的方法,需要的朋友参考下吧
    2018-12-12
  • vue3中事件总线mitt代码实例(第三方库mitt)

    vue3中事件总线mitt代码实例(第三方库mitt)

    这篇文章主要给大家介绍了关于vue3中事件总线mitt(第三方库mitt)的相关资料,Mitt是一个在Vue.js应用程序中使用的小型事件总线库,该库允许组件进行通信,而不必过度依赖父级或子级组件之间的props,需要的朋友可以参考下
    2023-09-09
  • antd的select下拉框因为数据量太大造成卡顿的解决方式

    antd的select下拉框因为数据量太大造成卡顿的解决方式

    这篇文章主要介绍了antd的select下拉框因为数据量太大造成卡顿的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • ESLint在Vue3 + TypeScript中的配置与使用方法

    ESLint在Vue3 + TypeScript中的配置与使用方法

    在Vue项目中配置ESLint,可以确保代码风格的一致性和代码质量,这篇文章主要介绍了ESLint在Vue3+TypeScript中配置与使用方法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-12-12
  • Vue.js递归组件构建树形菜单

    Vue.js递归组件构建树形菜单

    这篇文章主要介绍了用Vue.js递归组件构建一个可折叠的树形菜单的教学内容,有兴趣的朋友跟着学习下。
    2017-12-12
  • vue3实现封装时间计算-日期倒计时组件-还有XX天&第XX天

    vue3实现封装时间计算-日期倒计时组件-还有XX天&第XX天

    这篇文章主要介绍了vue3实现封装时间计算-日期倒计时组件-还有XX天&第XX天,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue 实现滑动块解锁示例详解

    vue 实现滑动块解锁示例详解

    这篇文章主要为大家介绍了vue 实现滑动块解锁示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08

最新评论