vite.config.ts 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import { defineConfig } from 'vite'
  2. import reactRefresh from '@vitejs/plugin-react-refresh'
  3. import { getThemeVariables } from "antd/dist/theme";
  4. import path from "path";
  5. import postcsspxtoviewport from 'postcss-px-to-viewport'
  6. import fs from "fs";
  7. // https://vitejs.dev/config/
  8. export default defineConfig({
  9. plugins: [reactRefresh()],
  10. css: {
  11. postcss: {
  12. plugins: [
  13. postcsspxtoviewport({
  14. unitToConvert: 'px', // 要转化的单位
  15. viewportWidth: 750, // UI设计稿的宽度
  16. unitPrecision: 4, // 转换后的精度,即小数点位数
  17. propList: ['*'], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换
  18. viewportUnit: 'vw', // 指定需要转换成的视窗单位,默认vw
  19. fontViewportUnit: 'vw', // 指定字体需要转换成的视窗单位,默认vw
  20. selectorBlackList: ['ignore-'], // 指定不转换为视窗单位的类名,
  21. minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换
  22. mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false
  23. replace: true, // 是否转换后直接更换属性值
  24. // exclude: [/node_modules/], // 设置忽略文件,用正则做目录名匹配
  25. exclude: [],
  26. landscape: false // 是否处理横屏情况
  27. })
  28. ]
  29. },
  30. preprocessorOptions: {
  31. // CSS 预处理器的配置
  32. less: {
  33. // less-loader 中开启 javascriptEnabled
  34. javascriptEnabled: true,
  35. // 使用 less 的 modifyVar 来覆盖 less 变量
  36. modifyVars: {
  37. // 配置暗黑主题
  38. ...getThemeVariables({
  39. dark: false
  40. }),
  41. ...{
  42. "primary-color": "#1DA57A",
  43. "link-color": "#1DA57A",
  44. "border-radius-base": "2px"
  45. }
  46. }
  47. }
  48. }
  49. },
  50. // 设置包引入的别名
  51. resolve: {
  52. alias: [{
  53. find: /^~/,
  54. replacement: path.resolve(__dirname, "src")
  55. }]
  56. },
  57. server: {
  58. host: "nbjk1-h5.zzxcx.net",
  59. port: 443,
  60. https: {
  61. key: fs.readFileSync("./cert/nbjk-h5.zzxcx.net.key"),
  62. cert: fs.readFileSync("./cert/nbjk-h5.zzxcx.net.pem"),
  63. },
  64. // proxy: {
  65. // '/api': {
  66. // target: 'http://jsonplaceholder.typicode.com/',
  67. // changeOrigin: true,
  68. // rewrite: (path: string) => path.replace(/^\/api/, '')
  69. // }
  70. // }
  71. }
  72. })