vite.config.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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 commonjs from 'vite-plugin-commonjs';
  6. // https://vitejs.dev/config/
  7. export default defineConfig({
  8. plugins: [
  9. vue(),
  10. commonjs({
  11. include: /utils\/map\/CityGis.Bridge.js/, // 包含的文件路径
  12. exclude: [], // 排除的文件路径
  13. extensions: ['.js'], // 需要转换的文件扩展名
  14. ignoreGlobal: false, // 是否忽略全局变量(例如 Buffer)
  15. sourceMap: false, // 是否生成源映射
  16. namedExports: {}, // 命名导出(名称和值)
  17. ignore: [], // 忽略文件的正则表达式
  18. transformMixedEsModules: true // 是否转换混合的 ES 模块
  19. })
  20. ],
  21. server: {
  22. proxy: {
  23. '/api': {
  24. //apiTest是自行设置的请求前缀,按照这个来匹配请求,有这个字段的请求,就会进到代理来
  25. target: 'http://10.1.161.187:7878/', // 需要代理的域名
  26. secure: false,
  27. changeOrigin: true,
  28. rewrite: (path) => path.replace(/^\/api/, '') //重写匹配的字段,如果不需要放在请求路径上,可以重写为""
  29. }
  30. }
  31. },
  32. resolve: {
  33. alias: {
  34. '@': fileURLToPath(new URL('./src', import.meta.url))
  35. }
  36. },
  37. css: {
  38. postcss: {
  39. plugins: [
  40. postcssPxToViewport({
  41. viewportWidth: 1950, // 视窗的宽度,对应的是我们设计稿的宽度,一般是750
  42. viewportHeight: 1080, // 视窗的高度,根据750设备的宽度来指定,一般指定1334,也可以不配置
  43. unitPrecision: 3, // 指定`px`转换为视窗单位值的小数位数(很多时候无法整除)
  44. viewportUnit: 'vw', // 指定需要转换成的视窗单位,建议使用vw
  45. fontViewportUnit: 'vw',
  46. selectorBlackList: [], // 指定不转换为视窗单位的类,可以自定义,可以无限添加,建议定义一至两个通用的类名
  47. minPixelValue: 2, // 小于或等于`1px`不转换为视窗单位,你也可以设置为你想要的值
  48. mediaQuery: true, // 允媒体查许在询中转换`px`
  49. propList: ['*', '!min-width', '!min-height'],
  50. minValue: 10
  51. // exclude:[/Tabbar/] //以Tabbar文件开头的不转化
  52. })
  53. ]
  54. }
  55. }
  56. });