-
Notifications
You must be signed in to change notification settings - Fork 0
/
.postcssrc.js
34 lines (32 loc) · 1.66 KB
/
.postcssrc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const path = require('path');
/** 感谢大佬的解决方案
* @license https://www.cnblogs.com/zhangnan35/p/12682925.html
*/
module.exports = ({ file }) => {
// vant-ui是基于375px,一般项目设计稿是基于750px
const designWidth = file.includes(path.join('node_modules', 'vant'))
? 375
: 750;
return {
plugins: {
autoprefixer: {},
'postcss-px-to-viewport': {
unitToConvert: 'px', // 需要转换的单位,默认为"px"
viewportWidth: designWidth, // 设计稿的视口宽度
unitPrecision: 5, // 单位转换后保留的精度
propList: ['*'], // 能转化为vw的属性列表
viewportUnit: 'vw', // 希望使用的视口单位
fontViewportUnit: 'vw', // 字体使用的视口单位
// selectorBlackList: [".footer-view", ".custom-map"], // 需要忽略的CSS选择器
minPixelValue: 1, // 最小的转换数值,如果为1的话,只有大于1的值会被转换
mediaQuery: false, // 媒体查询里的单位是否需要转换单位
replace: true, // 是否直接更换属性值,而不添加备用属性
exclude: [/.\\cli\\site\\desktop/, /.\\cli\\site\\mobile/], // 忽略某些文件夹下的文件或特定文件
include: undefined, // 如果设置了include,那将只有匹配到的文件才会被转换,例如只转换 'src/mobile' 下的文件 (include: /\/src\/mobile\//)
landscape: false, // 是否添加根据 landscapeWidth 生成的媒体查询条件 @media (orientation: landscape)
landscapeUnit: 'vw', // 横屏时使用的单位
landscapeWidth: 568, // 横屏时使用的视口宽度
},
},
};
};