first commit
This commit is contained in:
69
vite.config.js
Normal file
69
vite.config.js
Normal file
@@ -0,0 +1,69 @@
|
||||
import { defineConfig } from 'vite'
|
||||
import vue from '@vitejs/plugin-vue'
|
||||
import { resolve } from 'path'
|
||||
import basicSsl from '@vitejs/plugin-basic-ssl'
|
||||
|
||||
// https://vite.dev/config/
|
||||
export default defineConfig({
|
||||
plugins: [vue(), basicSsl()],
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': resolve(__dirname, 'src')
|
||||
}
|
||||
},
|
||||
optimizeDeps: {
|
||||
include: ['mp4box'],
|
||||
esbuildOptions: {
|
||||
// 设置全局变量以支持 CommonJS 模块
|
||||
define: {
|
||||
global: 'globalThis'
|
||||
}
|
||||
}
|
||||
},
|
||||
build: {
|
||||
// 生产环境构建配置
|
||||
minify: 'terser', // 使用 terser 进行代码压缩
|
||||
terserOptions: {
|
||||
compress: {
|
||||
// 移除 console.*
|
||||
drop_console: true,
|
||||
// 移除 debugger
|
||||
drop_debugger: true,
|
||||
// 移除未使用的代码
|
||||
pure_funcs: ['console.log', 'console.info', 'console.debug', 'console.warn']
|
||||
}
|
||||
},
|
||||
// 确保CSS按正确顺序打包
|
||||
cssCodeSplit: false,
|
||||
rollupOptions: {
|
||||
output: {
|
||||
// 确保关键的CSS文件优先级
|
||||
manualChunks: {
|
||||
'element-plus': ['element-plus'],
|
||||
'vue3-puzzle-vcode': ['vue3-puzzle-vcode']
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
server: {
|
||||
host: '0.0.0.0', // 允许通过IP地址访问
|
||||
// https: true,
|
||||
proxy: {
|
||||
'/user': {
|
||||
target: 'http://127.0.0.1:8082', // 使用本地开发服务器
|
||||
// target: 'http://101.35.131.61:8082',
|
||||
changeOrigin: true,
|
||||
rewrite: (path) => path.replace(/^\/user/, '/user'),
|
||||
// 如果必须使用生产服务器,可以添加以下配置防护
|
||||
configure: (proxy, options) => {
|
||||
proxy.on('proxyRes', (proxyRes, req, res) => {
|
||||
// 移除可能导致浏览器弹出认证对话框的响应头
|
||||
if (proxyRes.statusCode === 401) {
|
||||
delete proxyRes.headers['www-authenticate']
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user