| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- /**
- * Vite 基础配置
- */
- import path from 'path';
- import { loadEnv } from 'vite';
- /**
- * 获取别名配置
- */
- export function getAlias(dirname) {
- return {
- '@': path.resolve(dirname, 'src'),
- '@components': path.resolve(dirname, 'src/components'),
- '@utils': path.resolve(dirname, 'src/utils'),
- '@api': path.resolve(dirname, 'src/api'),
- '@views': path.resolve(dirname, 'src/views'),
- '@stores': path.resolve(dirname, 'src/stores'),
- '@assets': path.resolve(dirname, 'src/assets'),
- '@style': path.resolve(dirname, 'src/style')
- };
- }
- /**
- * 获取服务器配置
- */
- export function getServerConfig(mode, cwd) {
- const env = loadEnv(mode, cwd);
-
- return {
- host: '0.0.0.0',
- port: parseInt(env.VITE_PORT || 3000),
- open: true,
- proxy: {
- '/dev-api': {
- target: 'http://localhost:8081',
- changeOrigin: true,
- rewrite: (path) => path.replace(/^\/dev-api/, ''),
- timeout: 30000,
- ws: true,
- retry: 0,
- configure: (proxy, options) => {
- proxy.on('error', (err) => {
- console.log('代理错误', err);
- });
- proxy.on('proxyReq', (proxyReq, req) => {
- // 修改请求头,禁用缓存
- proxyReq.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate');
- proxyReq.setHeader('Pragma', 'no-cache');
- proxyReq.setHeader('Expires', '0');
- });
- proxy.on('proxyRes', (proxyRes, req, res) => {
- // 修改响应头,禁用缓存
- proxyRes.headers['cache-control'] = 'no-cache, no-store, must-revalidate';
- proxyRes.headers['pragma'] = 'no-cache';
- proxyRes.headers['expires'] = '0';
- });
- }
- },
- },
- };
- }
- /**
- * 获取全局常量定义
- */
- export function getDefineConfig() {
- return {
- __VUE_PROD_DEVTOOLS__: false,
- __VUE_OPTIONS_API__: true,
- __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: false
- };
- }
- /**
- * 获取依赖优化配置
- */
- export function getOptimizeDeps() {
- return {
- include: [
- 'vue',
- 'vue-router',
- 'pinia',
- 'dayjs',
- 'axios',
- 'js-cookie',
- 'nprogress'
- ],
- exclude: [
- '@wangeditor/editor',
- '@wangeditor/editor-for-vue',
- '@form-create/antd-designer',
- '@form-create/ant-design-vue',
- 'ant-design-vue',
- '@ant-design/icons-vue'
- ]
- };
- }
|