vite.config.ts

vite在项目中常用的配置文件 如何配置
import { defineConfig } from "vite";
import vue from '@vitejs/plugin-vue'
const path = require('path')
function pathResolve(dir: String) {
  return path.join(__dirname, dir);
}
export default defineConfig({
  root: "",//表示项目跟目录
  /**端口号 可改 */
  base: './',
  mode: '',//设置开发模式还是生产模式
  plugins: [vue()],
  resolve: {
    alias: [//别名配置
      // 键必须以斜线开始和结束
      {
        find: /\/@\//,
        replacement: pathResolve('src') + '/',
      }, {
        find: /\/@assets\//,
        replacement: pathResolve('src/assets') + '/',
      }, {
        find: /\/comp\//,
        replacement: pathResolve('../../../src/components') + '/',
      }, {
        find: /\/@router\//,
        replacement: pathResolve('src/router') + '/',
      }, {
        find: /\/@views\//,
        replacement: pathResolve('src/views') + '/',
      }, {
        find: /\/@vuex\//,
        replacement: pathResolve('src/vuex') + '/',
      }, {
        find: /\/@mock\//,
        replacement: pathResolve('src/mock') + '/',
      },
    ],
  },// 跨域设置
  css: {
    modules: {},//配置css modules的行为
    postcss: {},
    preprocessorOptions: {//指定传递给css预处理器的选项
      sass: {
        additionalData: `$injectedColor: orange;`
      }
    }
  },//关于css在项目中的相关配置
  // open: true,

  server: {
    host: "127.0.0.1",//指定服务器主机名
    port: 80,//指定服务器端口。注意:如果端口已经被使用,Vite 会自动尝试下一个可用的端口,所以这可能不是服务器最终监听的实际端口
    strictPort: true,//配合port,如果端口被占用 设置为true,就会自动退出不会尝试寻找下一个出口
    proxy: {//关于代理的配置w
      // '/api': {
      //   target: 'https://blog.csdn.net/weixin_45292658',//表示代理的目标地址
      //   changeOrigin: true,
      //   rewrite: path => path.replace(/^\/api/, '')
      // }
    },
  },
  // 忽略导入文件类型的扩展名列表
  // build打包构建的时候需要进行的相关配置
  build: {
    target: "",//关于配置浏览器兼容性,转换过程将会由esbuild执行,如果是自定义目标也可以试一个es版本、一个浏览器版本或者是多个数组[]
    outDir: "",//打包输出路径   默认为 dist
    assetsDir: "",//指定生成静态资源的存放路径
    assetsInlineLimit: 4096,//kb,小于此阈值的导入或引用资源将内联为base64编码,以避免额外的http请求。设置为0 可以完全禁用此项。
    cssCodeSplit: true,//启用/禁用 CSS 代码拆分。当启用时,在异步 chunk 中导入的 CSS 将内联到异步 chunk 本身,并在块加载时插入。
    // 如果禁用,整个项目中的所有 CSS 将被提取到一个 CSS 文件中 
    sourcemap: true,//默认为false;构建后是否生成source map文件
    rollupOptions: {//自定义底层的RollUp打包配置,这与Rollup配置文件导出的选项相同,并将与Vite的内部Rollup选项合并

    },
    emptyOutDir: true,//boolean 如果构建输出目录在根目录的话,会抛出一个警告避免删除掉重要文件。
    commonjsOptions: {},//传递给@rollup/plugin-commonjs 插件的选项。
    brotliSize: false,//默认为true 弃用/禁用压缩大小报告,压缩大型输出文件可能会很慢,所以需要禁用该功能从而提高大型项目的构建功能
    chunkSizeWarningLimit: 500,//kb chunk大小警告的限制 
    terserOptions: {//相关配置  https://terser.org/docs/api-reference#minify-options
      parse: {},//如果希望指定一些其他 解析选项 则传递一个对象
      compress: {//默认为空对象跳过压缩,或者传递自定义压缩选项
        drop_console: true,//移除console.log
        drop_debugger: true
      }
    }
  },
  //引入第三方配置
  optimizeDeps: {
    include: ["element-plus/lib/locale/lang/zh-cn"],
  },
})


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章