项目描述:
vite + vue3 + ts 移动端
问题描述:
安装完 postcss-px-to-viewport 插件后,按照之前vue-cli项目的方式,src目录下新建 postcss.config.js 文件并进行规则配置。运行起来并未报错,但是发现px并没有转换为vw单位。
问题解决:
因为vite中已经内联了postcss,所以并不需要额外的创建 postcss.config.js文件,vite关于css.postcss 我们只需要在 vite.config.ts中进行配置即可:具体配置如下:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import postcsspxtoviewport from 'postcss-px-to-viewport'
export default defineConfig({
plugins: [
vue()
],
css: {
postcss: {
plugins: [
postcsspxtoviewport({
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/], // 设置忽略文件,用正则做目录名匹配
exclude: [],
landscape: false // 是否处理横屏情况
})
]
}
}
})
完成后重启项目就可以看到px转换为vw单位了。
感谢这篇文章的参考:vite postcss
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。