// 为处理vite vant375尺寸 但自身项目750等其他尺寸配置问题有如下两个方案  优点缺点都很明显，具体怎么用，见人见智了
// 1.https://blog.csdn.net/weixin_42998707/article/details/124150578  修改postcss-px-to-viewport插件源码
// 2.https://github.com/vitejs/vite/issues/4653  多个配置,这将导致插件处理两次，文件最后注释处

const path = require('path')
module.exports = () => {
  return {
    plugins: {
      autoprefixer: {
        overrideBrowserslist: ['> 1%', 'last 2 versions']
      },
      'cnjm-postcss-px-to-viewport': {
        unitToConvert: 'px', // 要转化的单位
        viewportWidth: 750, // UI设计稿的宽度
        unitPrecision: 6, // 转换后的精度，即小数点位数
        propList: ['*'], // 指定转换的css属性的单位，*代表全部css属性的单位都进行转换
        viewportUnit: 'vw', // 指定需要转换成的视窗单位，默认vw
        fontViewportUnit: 'vw', // 指定字体需要转换成的视窗单位，默认vw
        selectorBlackList: ['ignore'], // 指定不转换为视窗单位的类名，
        minPixelValue: 1, // 默认值1，小于或等于1px则不进行转换
        mediaQuery: true, // 是否在媒体查询的css代码中也进行转换，默认false
        replace: true, // 是否转换后直接更换属性值
        exclude: [], // 设置忽略文件，用正则做目录名匹配
        landscape: false, // 是否处理横屏情况
        // 如果没有使用其他的尺寸来设计，下面这个方法可以不需要，比如vant是375的
        customFun: ({ file }) => {
          // 这个自定义的方法是针对处理vant组件下的设计稿为375问题
          const designWidth = path.join(file).includes(path.join('node_modules', 'vant')) ? 375 : 750
          return designWidth
        }
      }
    }
  }
}
// const path = require("path");
// const px2viewport = require("postcss-px-to-viewport");
// const autoprefixer = require("autoprefixer");
// module.exports = () => {
//   return {
//     plugins: [
//       autoprefixer({
//         overrideBrowserslist: ["Android 4.1", "iOS 7.1", "Chrome > 31", "ff > 31", "ie >= 8"],
//       }),
//       px2viewport({
//         unitToConvert: "px", // 要转化的单位
//         viewportWidth: 375, // UI设计稿的宽度
//         unitPrecision: 6, // 转换后的精度，即小数点位数
//         propList: ["*"], // 指定转换的css属性的单位，*代表全部css属性的单位都进行转换
//         viewportUnit: "vw", // 指定需要转换成的视窗单位，默认vw
//         fontViewportUnit: "vw", // 指定字体需要转换成的视窗单位，默认vw
//         selectorBlackList: ["ignore"], // 指定不转换为视窗单位的类名，
//         minPixelValue: 1, // 默认值1，小于或等于1px则不进行转换
//         mediaQuery: true, // 是否在媒体查询的css代码中也进行转换，默认false
//         replace: true, // 是否转换后直接更换属性值
//         exclude: [/^(?!.*node_modules\/vant)/], // 设置忽略文件，用正则做目录名匹配
//         landscape: false, // 是否处理横屏情况
//       }),
//       px2viewport({
//         unitToConvert: "px", // 要转化的单位
//         viewportWidth: 750, // UI设计稿的宽度
//         unitPrecision: 6, // 转换后的精度，即小数点位数
//         propList: ["*"], // 指定转换的css属性的单位，*代表全部css属性的单位都进行转换
//         viewportUnit: "vw", // 指定需要转换成的视窗单位，默认vw
//         fontViewportUnit: "vw", // 指定字体需要转换成的视窗单位，默认vw
//         selectorBlackList: ["ignore"], // 指定不转换为视窗单位的类名，
//         minPixelValue: 1, // 默认值1，小于或等于1px则不进行转换
//         mediaQuery: true, // 是否在媒体查询的css代码中也进行转换，默认false
//         replace: true, // 是否转换后直接更换属性值
//         exclude: [/node_modules\/vant/i], // 设置忽略文件，用正则做目录名匹配
//         landscape: false, // 是否处理横屏情况
//       }),
//     ],
//   };
// };
