Vue+vite创建项目关于vite.config.js文件的配置

Vue项目创建时,我们见过vue-cli 创建项目和webpack 创建项目等方式。
现在Vue 3版本使用npm/pnpm create vue@latest 创建项目,是搭配使用vite工具构建的。
创建完成的项目,最明显的去别就是,项目配置文件命名不同,当然,配置语法也有不同。

vue-cli 创建的项目,项目配置文件文件名为vue.config.js,webpack 创建项目的项目配置文件文件名为webpack.config.js,而vite工具构建完成的项目,项目配置文件文件名为vite.config.js

在这里插入图片描述

先贴一个vite官方地址:https://cn.vitejs.dev/

关于vite.config.js的配置语法:

创建项目之后,默认生成的vite.config.js文件比较简单,只有简单几行代码:

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

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
})

这样直接运行项目或者build大包代码也基本上没有什么问题,但是往往无法满足我们的需要,因此需要自己手动添加属性配置。
简单解释:

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

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// 这里是创建文档之后vite贴出的官方文档地址
// https://vitejs.dev/config/
export default defineConfig({
  // 需要用到的插件数组,这里是用vue
  plugins: [vue()],
  resolve: {
  	// resolve.alias属性配置文件自定义路径。如下:设置‘@’代替‘./src’
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
})

根据需要添加自定义配置,比如项目运行时的配置及项目打包输出的打包配置。

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

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// 这里是创建文档之后vite贴出的官方文档地址
// https://vitejs.dev/config/
export default defineConfig({
  // 需要用到的插件数组,这里是用vue
  plugins: [vue()],
  resolve: {
  	// resolve.alias属性配置文件自定义路径。如下:设置‘@’代替‘./src’
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  
  // 开发服务器配置server
  server: {
  	// host指定服务器应该监听哪个 IP 地址。 如果将此设置为 0.0.0.0 或者 true 将监听所有地址,包括局域网和公网地址。
    host: true,
    // 开发服务器端口配置。(注意:如果配置的端口已经被使用,Vite 会自动尝试下一个可用的端口,要看项目运行时最终生成的端口地址。)
    port: '9081',
    // open项目运行完毕是否自动在默认浏览器打开
    open: true,
    // 是否使用https,需要证书
    https: false,
    // proxy代理配置
    proxy: {
      '/api': {
        target: 'http://xxxx',
        changeOrigin: true,
        rewrite: path => path.replace(/^\/api/, '')
      }
    }
  },
  // build打包构建配置
  build: {
  	// 打包输出的文件夹名称
    outDir: 'dist',
    // 静态资源文件保存的文件夹名称
    assetsDir: 'static',
    // 是否启用css代码拆分
    cssCodeSplit: true,
    // 打包构建后是否生成 source map 文件。
    sourcemap: true,
    // 打包构建时压缩混淆使用的混淆器
    minify: 'esbuild',
    // 自定义底层的 Rollup 打包配置(Rollup文档地址:https://cn.rollupjs.org/configuration-options/)
    rollupOptions: {
      // 输出配置
      output: {
      	// 输出的文件自定义命名
        chunkFileNames: 'js/[name]-[hash].js',
        entryFileNames: 'js/[name]-[hash].js',
        assetFileNamesL: '[ext]/[name]-[hash].[text]'
      }
    }
  }
})

END

当然,还有很多配置属性起到不同的效果,这里暂时记录这些,有兴趣的大佬可以看看官方文档。

如果对你有帮助,记得点赞噢(~~)

Logo

前往低代码交流专区

更多推荐