当前位置: 首页 > news >正文

编写postcss插件,全局css文件px转vw

跟目录下创建plugins文件夹,创建postcss-px-to-viewport.ts文件

 

 文件内代码:

// postcss 的插件 vite内置了postCss插件 无需安装
import { Plugin } from 'postcss';interface Options {viewportWidth: number
}const Options = {viewportWidth: 375, // UI设计稿给多少写多少,默认375
}
export const PostCsspxToViewport = (options:Options):Plugin => {const opt = Object.assign({}, Options, options)return {postcssPlugin: 'postcss-px-to-viewport',// 钩子函数Declaration(node) {if (node.value.includes('px')) {const num = parseFloat(node.value);node.value = `${((num / opt.viewportWidth) * 100).toFixed(2)}vw`}}}
}

tsconfig.node.json文件增加plugins引入

{"compilerOptions": {"composite": true,"skipLibCheck": true,"module": "es2022","moduleResolution": "bundler","allowSyntheticDefaultImports": true,"noImplicitAny": false// 允许隐式的any},"include": ["vite.config.ts","plugins/**/*.ts","src/**/*.ts",]
}

vite. config.ts文件中引入PostCsspxToViewport方法

http://www.lryc.cn/news/167432.html

相关文章:

  • 精品SpringCloud的B2C模式在线学习网微服务分布式
  • 解决vue项目导出当前页Table为Excel
  • C++设计模式_04_Strategy 策略模式
  • 目标检测YOLO实战应用案例100讲-基于YOLOv3多模块融合的遥感目标检测(中)
  • element 表格fixed列高度无法100%
  • 【接口自动化测试】Eolink Apilkit 安装部署,支持 Windows、Mac、Linux 等系统
  • 解决sass问题:npm ERR! node-sass@9.0.0 postinstall: `node scripts/build.js`
  • Python技巧---tqdm库的使用
  • linux-线程条件变量(cond)
  • 面试算法6:排序数组中的两个数字之和
  • 【智能家居-大模型】构建未来,聆思大模型智能家居交互解决方案正式发布
  • 通讯网关软件002——利用CommGate X2HTTP-U实现HTTP访问OPC UA Server
  • 模拟经营类游戏是怎么开发的?
  • 基于JAVA+SSM+微信小程序+MySql的图书捐赠管理系统设计与实现
  • 软件设计模式系列之六——单例模式
  • verdi dump状态机的波形时直接显示状态名
  • 代码随想录算法训练营19期第53天
  • 二刷力扣--栈和队列
  • 第六章 图 十、关键路径
  • Virtualbox固定存储硬盘转换为动态存储硬盘
  • 【栈与队列面试题】有效的括号(动图演示)
  • 基于matlab实现的弹簧振动系统模型程序(动态模型)
  • 哨兵1号(Sentinel-1)SAR卫星介绍
  • [maven] scopes 管理 profile 测试覆盖率
  • css网页打印字体设置
  • JAVA高级技术入门(单元测试,反射,注解,动态代理)
  • uni-app 实现自定义按 A~Z 排序的通讯录(字母索引导航)
  • C++ PrimerPlus 复习 第一章 命令编译链接文件 make文件
  • 微信小程序——常用组件的属性介绍
  • 【深度学习】 Python 和 NumPy 系列教程(廿七):Matplotlib详解:3、多子图和布局:散点矩阵图(Scatter Matrix Plot)