You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.2 KiB
78 lines
2.2 KiB
2 years ago
|
import { UserConfig, ConfigEnv } from 'vite';
|
||
|
import { resolve } from 'path';
|
||
|
import { createVitePlugins } from './config/vite/plugin';
|
||
|
import proxy from './config/vite/proxy';
|
||
|
import { VITE_DROP_CONSOLE, VITE_PORT } from './config/constant';
|
||
|
import { generateModifyVars } from './config/themeConfig';
|
||
|
import { configManualChunk } from './config/vite/optimizer';
|
||
|
|
||
|
function pathResolve(dir: string) {
|
||
|
return resolve(process.cwd(), '.', dir);
|
||
|
}
|
||
|
|
||
|
// https://vitejs.dev/config/
|
||
|
export default ({ command, mode }: ConfigEnv): UserConfig => {
|
||
|
const isBuild = command === 'build';
|
||
|
console.log(command, mode);
|
||
|
|
||
|
return {
|
||
|
resolve: {
|
||
|
alias: [
|
||
|
// /@/xxxx => src/xxxx
|
||
|
{ find: /^~/, replacement: resolve(__dirname, '') },
|
||
|
{
|
||
|
find: /\/@\//,
|
||
|
replacement: pathResolve('src') + '/',
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
|
||
|
// plugins
|
||
|
plugins: createVitePlugins(isBuild),
|
||
|
|
||
|
css: {
|
||
|
preprocessorOptions: {
|
||
|
less: {
|
||
|
modifyVars: generateModifyVars(),
|
||
|
javascriptEnabled: true,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
// server
|
||
|
server: {
|
||
|
hmr: { overlay: false }, // 禁用或配置 HMR 连接 设置 server.hmr.overlay 为 false 可以禁用服务器错误遮罩层
|
||
|
// 服务配置
|
||
|
port: VITE_PORT, // 类型: number 指定服务器端口;
|
||
|
open: false, // 类型: boolean | string在服务器启动时自动在浏览器中打开应用程序;
|
||
|
cors: false, // 类型: boolean | CorsOptions 为开发服务器配置 CORS。默认启用并允许任何源
|
||
|
// host: '0.0.0.0', // IP配置,支持从IP启动
|
||
|
proxy,
|
||
|
},
|
||
|
|
||
|
// build
|
||
|
build: {
|
||
|
target: 'es2015',
|
||
|
terserOptions: {
|
||
|
compress: {
|
||
|
keep_infinity: true,
|
||
|
drop_console: VITE_DROP_CONSOLE,
|
||
|
},
|
||
|
},
|
||
|
rollupOptions: {
|
||
|
output: {
|
||
|
manualChunks: configManualChunk,
|
||
|
},
|
||
|
},
|
||
|
// Turning off brotliSize display can slightly reduce packaging time
|
||
|
reportCompressedSize: false,
|
||
|
chunkSizeWarningLimit: 2000,
|
||
|
},
|
||
|
|
||
|
//optimizeDeps
|
||
|
// optimizeDeps: {
|
||
|
// include: ['ant-design-vue/es/locale/zh_CN', 'moment/dist/locale/zh-cn'],
|
||
|
// },
|
||
|
};
|
||
|
};
|