import { defineConfig } from 'vite'
import reactRefresh from '@vitejs/plugin-react-refresh'
import { getThemeVariables } from "antd/dist/theme";
import path from "path";
import postcsspxtoviewport from 'postcss-px-to-viewport'
import fs from "fs";
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [reactRefresh()],
  css: {
    postcss: {
      plugins: [
        postcsspxtoviewport({
          unitToConvert: 'px', // 要转化的单位
          viewportWidth: 750, // UI设计稿的宽度
          unitPrecision: 4, // 转换后的精度，即小数点位数
          propList: ['*'], // 指定转换的css属性的单位，*代表全部css属性的单位都进行转换
          viewportUnit: 'vw', // 指定需要转换成的视窗单位，默认vw
          fontViewportUnit: 'vw', // 指定字体需要转换成的视窗单位，默认vw
          selectorBlackList: ['ignore-'], // 指定不转换为视窗单位的类名，
          minPixelValue: 1, // 默认值1，小于或等于1px则不进行转换
          mediaQuery: true, // 是否在媒体查询的css代码中也进行转换，默认false
          replace: true, // 是否转换后直接更换属性值
          // exclude: [/node_modules/], // 设置忽略文件，用正则做目录名匹配
          exclude: [],
          landscape: false // 是否处理横屏情况
        })
      ]
    },
    preprocessorOptions: {

      // CSS 预处理器的配置
      less: {


        // less-loader 中开启 javascriptEnabled
        javascriptEnabled: true,
        // 使用 less 的 modifyVar 来覆盖 less 变量
        modifyVars: {
          // 配置暗黑主题
          ...getThemeVariables({
            dark: false
          }),
          ...{
            "primary-color": "#1DA57A",
            "link-color": "#1DA57A",
            "border-radius-base": "2px"
          }
        }
      }
    }
  },
  // 设置包引入的别名
  resolve: {
    alias: [{
      find: /^~/,
      replacement: path.resolve(__dirname, "src")
    }]
  },
  server: {
    host: "nbjk1-h5.zzxcx.net",
		port: 443,
		https: {
			key: fs.readFileSync("./cert/nbjk-h5.zzxcx.net.key"),
			cert: fs.readFileSync("./cert/nbjk-h5.zzxcx.net.pem"),
		},
    // proxy: {
    //   '/api': {
    //     target: 'http://jsonplaceholder.typicode.com/',
    //     changeOrigin: true,
    //     rewrite: (path: string) => path.replace(/^\/api/, '')
    //   }
    // }
  }
})


