nuxt3引入postcss-px-to-viewport-8-plugin

1.安装 插件 

npm install postcss-px-to-viewport-8-plugin --save-dev

2.在nuxt.config.ts中引入

/*
 * @Description: 
 * @Version: 2.0
 * @Autor: ycw
 * @Date: 2022-06-27 15:48:03
 * @LastEditors: ycw
 * @LastEditTime: 2022-06-28 16:15:32
 */
import { defineNuxtConfig } from 'nuxt'

import getRoutes from './router';
// https://v3.nuxtjs.org/api/configuration/nuxt.config
export default defineNuxtConfig({
    router: {
        extendRoutes: (routes:any, resolve:any) => {
            routes = getRoutes(resolve);
        }
    },
    postcss: {
        plugins: {
            'postcss-px-to-viewport-8-plugin': {
                unitToConvert: 'px', // 需要转换的单位,默认为"px"
                viewportWidth: 750, // 设计稿的视口宽度
                unitPrecision: 5, // 单位转换后保留的精度
                propList: ['*','!font-size'], // 能转化为vw的属性列表,!font-size表示font-size后面的单位不会被转换
                viewportUnit: 'vw', // 希望使用的视口单位
                fontViewportUnit: 'vw', // 字体使用的视口单位
                // 需要忽略的CSS选择器,不会转为视口单位,使用原有的px等单位。
                // 下面配置表示类名中含有'keep-px'都不会被转换
                selectorBlackList: ['keep-px'],
                minPixelValue: 1, // 设置最小的转换数值,如果为1的话,只有大于1的值会被转换
                mediaQuery: false, // 媒体查询里的单位是否需要转换单位
                replace: true, //  是否直接更换属性值,而不添加备用属性
                exclude: [/node_modules/], // 忽略某些文件夹下的文件或特定文件,例如 'node_modules' 下的文件
                include: [/src/], // 如果设置了include,那将只有匹配到的文件才会被转换
                landscape: false, // 是否添加根据 landscapeWidth 生成的媒体查询条件 @media (orientation: landscape)
                landscapeUnit: 'vw', // 横屏时使用的单位
                landscapeWidth: 1338, // 横屏时使用的视口宽度
            }
      }
    },
    app:{
        head:{
            meta: [
                // 
                { name: 'viewport', content: 'width=device-width, initial-scale=1, maximum-scale=1' }
              ],
              // 
        }
    }
})

 效果:

nuxt3引入postcss-px-to-viewport-8-plugin_第1张图片

 nuxt3引入postcss-px-to-viewport-8-plugin_第2张图片

 

 

你可能感兴趣的:(问题解决,前端)