vite.config.js配置大全

import { defineConfig } from 'vite' // 帮手函数,这样不用 jsdoc 注解也可以获取类型提示
import vue from '@vitejs/plugin-vue'
const { resolve } = require('path')
import { viteMockServe } from "vite-plugin-mock"

const localEnabled = process.env.USE_MOCK || false;
const prodEnabled = process.env.USE_CHUNK_MOCK || false;

// https://vitejs.dev/config/
export default () => defineConfig({
 plugins: [ //配置需要使用的插件列表
  vue(),
  viteMockServe({
   mockPath: "./src/server/mock",
   localEnabled: localEnabled, // 开发打包开关 true时打开mock  false关闭mock
   prodEnabled: prodEnabled,//prodEnabled, // 生产打包开关
   // 这样可以控制关闭mock的时候不让mock打包到最终代码内
   injectCode: `
    import { setupProdMockServer } from './mockProdServer';
    setupProdMockServer();
   `,
   logger: false, //是否在控制台显示请求日志
   supportTs:false //打开后,可以读取 ts 文件模块 打开后将无法监视 .js 文件
  })
 ],
 // 强制预构建插件包
 optimizeDeps: {
  //检测需要预构建的依赖项
  entries: [],
  //默认情况下,不在 node_modules 中的,链接的包不会预构建
  include: ['axios'],
  exclude:['your-package-name'] //排除在优化之外
 },
 //静态资源服务的文件夹
 publicDir: "public",
 base: './',
 //静态资源处理
 assetsInclude: "",
 //控制台输出的级别 info 、warn、error、silent
 logLevel: "info",
 // 设为false 可以避免 vite 清屏而错过在终端中打印某些关键信息
 clearScreen:true,
 resolve: {
  alias: [//配置别名
   { find: '@', replacement: resolve(__dirname, 'src') }
  ],
  // 情景导出 package.json 配置中的exports字段
  conditions: [],
  // 导入时想要省略的扩展名列表
  // 不建议使用 .vue 影响IDE和类型支持
  extensions:['.mjs','.js','.ts','.jsx','.tsx','.json']  
 },
 // css
 css: {
  // 配置 css modules 的行为
  modules: {  },
  // postCss 配置
  postcss: {
  },
  //指定传递给 css 预处理器的选项
  preprocessorOptions:{
   scss: {
    additionalData:`$injectedColor:orange;`
   }
  }
 },
 json: {
  //是否支持从 .json 文件中进行按名导入
  namedExports: true,
  //若设置为 true 导入的json会被转为 export default JSON.parse("..") 会比转译成对象字面量性能更好
  stringify:false
 },
 //继承自 esbuild 转换选项,最常见的用例是自定义 JSX
 esbuild: {
  jsxFactory: "h",
  jsxFragment: "Fragment",
  jsxInject:`import Vue from 'vue'`
 },
 //本地运行配置,以及反向代理配置
 server: {
  host: "localhost",
  https: false,//是否启用 http 2
  cors: true,//为开发服务器配置 CORS , 默认启用并允许任何源
  open: true,//服务启动时自动在浏览器中打开应用
  port: "9000",
  strictPort: false, //设为true时端口被占用则直接退出,不会尝试下一个可用端口
  force: true,//是否强制依赖预构建
  hmr: false,//禁用或配置 HMR 连接
  // 传递给 chockidar 的文件系统监视器选项
  watch: {
   ignored:["!**/node_modules/your-package-name/**"]
  },
  // 反向代理配置
  proxy: { 
   '/api': {
    target: "https://xxxx.com/",
    changeOrigin: true,
    rewrite: (path) => path.replace(/^\/api/, '')
   }
  }
 },
 //打包配置
 build: {
  //浏览器兼容性  "esnext"|"modules"
  target: "modules",
  //指定输出路径
  outDir: "dist/dist",
  //生成静态资源的存放路径
  assetsDir: "assets",
  //小于此阈值的导入或引用资源将内联为 base64 编码,以避免额外的 http 请求。设置为 0 可以完全禁用此项
  assetsInlineLimit: 4096,
  //启用/禁用 CSS 代码拆分
  cssCodeSplit: true,
  //构建后是否生成 source map 文件
  sourcemap: false,
  //自定义底层的 Rollup 打包配置
  rollupOptions: {
  },
  //@rollup/plugin-commonjs 插件的选项
  commonjsOptions: {
  },
  //构建的库
  lib: {
  },
  //当设置为 true,构建后将会生成 manifest.json 文件
  manifest: false,
  // 设置为 false 可以禁用最小化混淆,
  // 或是用来指定使用哪种混淆器
  // boolean | 'terser' | 'esbuild'
  minify: "terser", //terser 构建后文件体积更小
  //传递给 Terser 的更多 minify 选项。
  terserOptions: {
  },
  //设置为 false 来禁用将构建后的文件写入磁盘
  write: true,
  //默认情况下,若 outDir 在 root 目录下,则 Vite 会在构建时清空该目录。
  emptyOutDir: true,
  //启用/禁用 brotli 压缩大小报告
  brotliSize: true,
  //chunk 大小警告的限制
  chunkSizeWarningLimit: 500
 },
 ssr: {
  // 列出的是要为 SSR 强制外部化的依赖
  external: [],
  //列出的是防止被 SSR 外部化依赖项
  noExternal: [
  ]
 }
})
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: vite.config.jsVite配置文件,用于配置Vite的各种选项和插件。以下是一个完整的vite.config.js配置文件示例: ```javascript import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' export default defineConfig({ plugins: [vue()], base: '/my-app/', server: { port: 300, open: true, proxy: { '/api': { target: 'http://localhost:808', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '') } } }, build: { outDir: 'dist', assetsDir: 'assets', sourcemap: true, terserOptions: { compress: { drop_console: true } } } }) ``` 该配置文件包含以下选项: - plugins:Vite插件列表,这里使用了vue插件。 - base:应用程序的基本URL路径。 - server:开发服务器选项,包括端口、自动打开浏览器、代理等。 - build:构建选项,包括输出目录、资源目录、是否生成sourcemap、压缩选项等。 以上是一个简单的vite.config.js配置文件示例,具体配置根据项目需求进行调整。 ### 回答2: vite.config.jsVite构建工具的配置文件,它可以通过JavaScript编写来自定义Vite的行为,如自定义端口、配置代理、设置缓存等。下面是vite.config.js的完整配置: ```js module.exports = { // 项目根目录 root: './', // 服务端口号 port: 8080, // 服务器配置 server: { // 服务器主机名 host: 'localhost', // 开启https https: false, // 自定义服务端路由 proxy: { '/api': { target: 'http://localhost:3000', changeOrigin: true, rewrite: (path) => path.replace('/api/', '/') } }, // 配置 HMR 是否启用 hmr: { // socket 连接服务器地址 host: 'localhost', // socket 连接服务器端口 port: 8888, } }, // 生产构建配置 build: { // 构建结果目录 outDir: 'dist', // 生成静态资源的路径 assetsDir: 'assets', // 生成 index.html 的路径 html: { // 模板文件 template: './public/index.html', // 输出路径 filename: 'index.html', // 网站标题 title: 'My Vite App', // meta 标签 meta: [ { name: 'viewport', content: 'width=device-width, initial-scale=1' } ] }, // 是否生成 sourceMap sourcemap: true, // 是否开启代码压缩 minify: true, // 是否启用 CSS 提取 cssCodeSplit: true, // 是否压缩 CSS 代码 terserOptions: { compress: { // 忽略 console 输出 drop_console: true, // 忽略 debugger 语句 drop_debugger: true, } }, // 自定义 Rollup 配置 rollupOptions: { input: './src/main.js', output: { file: './dist/bundle.js', format: 'iife', }, plugins: [ // 插件配置 ] } } } ``` 其中最常见的配置项包括`root`、`port`、`server`和`build`。`root`用来指定项目根目录,`port`用来指定开发服务端口号,而`server`可以配置服务器选项,包括主机名、开启https、代理等。`build`是用来配置生产构建选项,包括输出目录、生成静态资源的路径、生成index.html的路径、是否生成sourceMap、代码压缩等。 除了以上常用的配置项,vite.config.js还可以通过自定义插件来扩展Vite的能力,例如`vite-plugin-svg-icons`可以用来加载SVG图标,`vite-plugin-style-import`可以用来加载样式文件,以及一些其他的插件,这些插件也可以在vite.config.js配置。 ### 回答3: vite.config.js是使用Vite构建工具时的配置文件。Vite是一种快速的前端构建工具,可以非常快速地构建现代化的Web应用程序。在Vite应用程序中,所有的配置都在vite.config.js文件中,这个文件是一个JavaScript对象,它允许你自定义你的应用程序,包括服务器配置、Webpack插件以及其他一些选项。 Vite.config.js完整配置主要包括以下内容: 1. plugins:用于添加Vite插件。比如可以使用@vitejs/plugin-vue插件来启用Vue单文件组件。其他常用插件还包括@rollup/plugin-commonjs、@rollup/plugin-node-resolve等。 2. define:用于定义环境变量。可以为不同的环境设置不同的变量。例如可以定义NODE_ENV变量为production或development。 3. server:用于配置Vite服务器,可以设置服务器的主机、端口、代理、SSL证书等。 4. build:用于构建Vite应用程序的选项。包括输出选项、代码分离选项、代码压缩选项、Webpack选项等。 5. optimizeDeps:用于优化依赖项,可以设置哪些依赖项是不需要预先编译的。 6. css:用于配置CSS相关选项,包括预处理器配置、样式提取选项、压缩选项和最小化选项。 7. resolve:用于在应用程序中解析模块、别名、扩展名等。 8. esbuild:配置esbuild构建选项,可以使用esbuild来替代默认的rollup构建。 以上是Vite.config.js的主要配置选项。这些选项可以通过编辑Vite.config.js文件进行自定义配置。从而实现更加高效的构建工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端程序猿i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值