aslan-h5/vite.config.js

78 lines
2.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import vue from '@vitejs/plugin-vue'
import Components from 'unplugin-vue-components/vite'
import { defineConfig } from 'vite'
import { fileURLToPath, URL } from 'node:url'
import { VantResolver } from 'unplugin-vue-components/resolvers'
// https://vite.dev/config/
export default defineConfig({
plugins: [
vue(),
// vueDevTools(),
Components({
resolvers: [VantResolver()], // 自动注册 Vant 组件
}),
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
build: {
// 生成唯一的文件名,避免缓存问题
rollupOptions: {
output: {
// 为 JS 文件添加时间戳
entryFileNames: `js/[name]-[hash]-${Date.now()}.js`,
chunkFileNames: `js/[name]-[hash]-${Date.now()}.js`,
assetFileNames: (assetInfo) => {
const info = assetInfo.fileName.split('.')
const ext = info[info.length - 1]
if (/\.(css)$/.test(assetInfo.fileName)) {
return `css/[name]-[hash]-${Date.now()}.[ext]`
}
return `assets/[name]-[hash]-${Date.now()}.[ext]`
},
},
},
},
server: {
host: '0.0.0.0', // 允许外部访问
port: 5173, // 指定端口
strictPort: true, // 端口被占用时不会自动选择下一个可用端口
open: false, // 不自动打开浏览器
cors: true, // 启用CORS
// 代理配置(如果需要)
proxy: {
// OSS 代理配置
'/oss': {
target: 'https://tkm-likei.oss-ap-southeast-1.aliyuncs.com',
changeOrigin: true,
secure: true,
rewrite: (path) => path.replace(/^\/oss/, ''),
configure: (proxy, options) => {
proxy.on('proxyRes', (proxyRes, req, res) => {
// 移除缓存相关的响应头防止浏览器使用HTTP缓存
delete proxyRes.headers['etag']
delete proxyRes.headers['last-modified']
delete proxyRes.headers['cache-control']
delete proxyRes.headers['expires']
})
},
},
// '/api': {
// target: 'http://localhost:3000',
// changeOrigin: true,
// rewrite: (path) => path.replace(/^\/api/, '')
// }
},
},
preview: {
host: '0.0.0.0', // 预览模式也允许外部访问
port: 4173,
strictPort: true,
open: false,
},
})