当以命令行方式运行 vite 时,Vite 会自动解析 项目根目录 下名为 vite.config.js(或 vite.config.ts) 的文件。
使用 vite 创建项目完成后会自动生成 一个 vite.config.js 文件,当然你可以将其名重定义为 vite.config.ts 文件。其默认代码如下:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
export default defineConfig({
plugins: [vue()],
})
export default defineConfig(({ command, mode }) => {
if (command === 'serve') {
return {
// dev 独有配置
}
} else {
// command === 'build'
return {
// build 独有配置
}
}
})
如果配置需要调用一个异步函数,也可以转而导出一个异步函数:
export default defineConfig(async ({ command, mode }) => {
const data = await asyncFunction()
return {
// 构建模式所需的特有配置
}
})
本地运行时的服务设置,包括:
例如:
export default defineConfig({
server: {
host: '0.0.0.0',
port: '3000',
proxy: {
// 字符串简写写法
'/foo': 'http://localhost:4567',
// 选项写法
'/api': {
target: 'http://jsonplaceholder.typicode.com',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, '')
},
// 正则表达式写法
'^/fallback/.*': {
target: 'http://jsonplaceholder.typicode.com',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/fallback/, '')
},
// 使用 proxy 实例
'/api': {
target: 'http://jsonplaceholder.typicode.com',
changeOrigin: true,
configure: (proxy, options) => {
// proxy 是 'http-proxy' 的实例
}
},
// 代理 WebSocket 或 socket
'/socket.io': {
target: 'ws://localhost:3000',
ws: true
}
}
})
需要先安装 @types/node
插件:
npm i -D @types/node
然后,在 vite.config.ts 文件中增加以下配置:
import { resolve } from "path"
export default defineConfig({
// 配置 @ 符号
resolve: {
alias: {
"@": resolve(__dirname, "src")
}
}
})
如果你用到了 ts,需要在 tsconfig.json 的配置文件中增加以下配置:
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": ["src/*"],
"#/*": ["types/*"]
},
},
以上配置完成后,凡是在 src 文件下的相对路径都可以写成 @
符号了。
【参考文献】
vite 官网之配置 Vite
关于 vite.config.js 相关配置,拿走不谢