vite.config.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import { fileURLToPath, URL } from 'node:url'
  2. import { defineConfig } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import postcsspxtoviewport from 'postcss-px-to-viewport'
  5. import AutoImport from 'unplugin-auto-import/vite'
  6. import Components from 'unplugin-vue-components/vite'
  7. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  8. // https://vitejs.dev/config/
  9. export default defineConfig({
  10. server: {
  11. cors: true,
  12. proxy: {
  13. // 代理所有 /api 的请求,该求情将被代理到 target 中
  14. '/api': {
  15. // 代理请求之后的请求地址(你的真实接口地址)
  16. target: 'https://cimweb.zjw.sh.cegn.cn:2007/data-business-prod/',
  17. //target: 'http://localhost:9250/',
  18. secure: false,
  19. ws: true,
  20. // 跨域
  21. changeOrigin: true,
  22. rewrite: (path) => path.replace(/^\/api/, '')
  23. },
  24. '/addressapi': {
  25. // 代理请求之后的请求地址(你的真实接口地址)
  26. target: 'https://cimweb.zjw.sh.cegn.cn:2008/',
  27. //target: 'http://localhost:9250/',
  28. secure: false,
  29. ws: true,
  30. // 跨域
  31. changeOrigin: true,
  32. rewrite: (path) => path.replace(/^\/addressapi/, '')
  33. },
  34. '/netapi': {
  35. // 代理请求之后的请求地址(你的真实接口地址)
  36. target: 'http://58.34.215.19:8100/',
  37. //target: 'http://localhost:9250/',
  38. secure: false,
  39. ws: true,
  40. // 跨域
  41. changeOrigin: true,
  42. rewrite: (path) => path.replace(/^\/netapi/, '')
  43. },
  44. '/zwapi': {
  45. // 代理请求之后的请求地址(你的真实接口地址)
  46. target: 'http://10.90.9.143:9252/',
  47. //target: 'http://localhost:9250/',
  48. secure: false,
  49. ws: true,
  50. // 跨域
  51. changeOrigin: true,
  52. rewrite: (path) => path.replace(/^\/zwapi/, '')
  53. }
  54. },
  55. },
  56. plugins: [
  57. vue(),
  58. AutoImport({
  59. resolvers: [ElementPlusResolver()],
  60. }),
  61. Components({
  62. resolvers: [ElementPlusResolver()],
  63. }),
  64. ],
  65. build: {
  66. outDir: 'low_altitude_web'
  67. },
  68. resolve: {
  69. alias: {
  70. '@': fileURLToPath(new URL('./src', import.meta.url))
  71. }
  72. },
  73. css: {
  74. preprocessorOptions: {
  75. scss: {
  76. api: "modern-compiler" // or 'modern'
  77. }
  78. },
  79. postcss: {
  80. plugins: [
  81. postcsspxtoviewport({
  82. unitToConvert: "px", // 要转化的单位
  83. viewportWidth: 1080, // UI设计稿的宽度
  84. unitPrecision: 6, // 转换后的精度,即小数点位数
  85. propList: ["*"], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换
  86. viewportUnit: "vh", // 指定需要转换成的视窗单位,默认vw
  87. fontViewportUnit: "vh", // 指定字体需要转换成的视窗单位,默认vw
  88. selectorBlackList: [], // 指定不转换为视窗单位的类名,
  89. minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换
  90. mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false
  91. replace: true, // 是否转换后直接更换属性值
  92. exclude: [/node_modules/], // 设置忽略文件,用正则做目录名匹配
  93. // include: [/overview_4k/],
  94. landscape: false // 是否处理横屏情况
  95. }),
  96. ]
  97. }
  98. },
  99. base: '/low_altitude/'
  100. })