vite.config.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import { defineConfig } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import Pages from 'vite-plugin-pages'
  4. import Layouts from 'vite-plugin-vue-layouts'
  5. import path from 'path'
  6. import AutoImport from 'unplugin-auto-import/vite'
  7. import Components from 'unplugin-vue-components/vite'
  8. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  9. // https://vitejs.dev/config/
  10. export default defineConfig({
  11. plugins: [
  12. vue(),
  13. Pages({
  14. dirs: [
  15. { dir: 'src/page', baseRoute: '' },
  16. { dir: 'src/views', baseRoute: '' }
  17. ],
  18. exclude: ['**/components/*.vue'] // 排除组件
  19. }),
  20. Layouts({
  21. layoutsDirs: 'src/layout',
  22. defaultLayout: 'index'
  23. }),
  24. AutoImport({
  25. resolvers: [ElementPlusResolver()]
  26. }),
  27. Components({
  28. dts: true,
  29. resolvers: [ElementPlusResolver()]
  30. })
  31. ],
  32. resolve: {
  33. alias: {
  34. '@': path.resolve(path.resolve(), 'src')
  35. }
  36. },
  37. minify: 'terser',
  38. // css: {
  39. // postcss: {
  40. // plugins: [
  41. // postCssPxToViewport({
  42. // unitToConvert: 'px', // 要转化的单位
  43. // viewportWidth: 1920, // UI设计稿的宽度
  44. // unitPrecision: 6, // 转换后的精度,即小数点位数
  45. // propList: ['*'], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换
  46. // viewportUnit: 'vw', // 指定需要转换成的视窗单位,默认vw
  47. // fontViewportUnit: 'vw', // 指定字体需要转换成的视窗单位,默认vw
  48. // selectorBlackList: ['wrap'], // 指定不转换为视窗单位的类名,
  49. // minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换
  50. // mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false
  51. // replace: true, // 是否转换后直接更换属性值
  52. // landscape: false // 是否处理横屏情况
  53. // })
  54. // ]
  55. // }
  56. // },
  57. server: {
  58. open: true,
  59. proxy: {
  60. '/api': {
  61. // 正式环境地址
  62. // target: 'https://dev.wutongresearch.club/api',
  63. target: 'http://192.168.31.181:8110',
  64. changeOrigin: true,
  65. rewrite: path => path.replace(/^\/api/, '')
  66. }
  67. }
  68. }
  69. })