vite.config.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. * vite配置
  3. *
  4. * @Author: 1024创新实验室-主任:卓大
  5. * @Date: 2022-05-02 23:44:56
  6. * @Wechat: zhuda1024
  7. * @Email: lab1024@163.com
  8. * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
  9. */
  10. import { resolve } from 'path';
  11. import vue from '@vitejs/plugin-vue';
  12. const pathResolve = (dir) => {
  13. return resolve(__dirname, '.', dir);
  14. };
  15. export default {
  16. base: process.env.NODE_ENV === 'production' ? '/manages/' : '/',
  17. root: process.cwd(),
  18. resolve: {
  19. alias: [
  20. // 国际化替换
  21. {
  22. find: 'vue-i18n',
  23. replacement: 'vue-i18n/dist/vue-i18n.cjs.js',
  24. },
  25. // 绝对路径重命名:/@/xxxx => src/xxxx
  26. {
  27. find: /\/@\//,
  28. replacement: pathResolve('src') + '/',
  29. },
  30. {
  31. find: /^~/,
  32. replacement: '',
  33. },
  34. ],
  35. },
  36. // 服务端渲染
  37. server: {
  38. host: '0.0.0.0',
  39. port: 8081,
  40. },
  41. plugins: [vue()],
  42. optimizeDeps: {
  43. include: ['ant-design-vue/es/locale/zh_CN', 'dayjs/locale/zh-cn', 'ant-design-vue/es/locale/en_US'],
  44. exclude: ['vue-demi'],
  45. },
  46. build: {
  47. brotliSize: false,
  48. chunkSizeWarningLimit: 2000,
  49. },
  50. css: {
  51. preprocessorOptions: {
  52. less: {
  53. modifyVars: {
  54. hack: `true; @import (reference) "${resolve('src/theme/index.less')}";`,
  55. },
  56. javascriptEnabled: true,
  57. },
  58. },
  59. },
  60. define: {
  61. __INTLIFY_PROD_DEVTOOLS__: false,
  62. 'process.env': process.env,
  63. },
  64. };