需求

在react项目中安装插件,实现按照设计图中的标注输入px,自动转换成rem。

基本情况

1、create-react-app 创建项目;
2、npm run eject 变成自定义配置的模式

配置postcss-pxtorem

1、安装插件:npm install postcss-pxtorem --save-dev
2、打开文件:webpack.config.dev.js
3、修改配置,见以下代码
4、index.html页面配置

注: eject成为自定义配置以后,这段代码摘自 webpack.config.dev.js 文件,*标注部分是本次配置 pxtorem 所做的更改。

//修改配置
// common function to get style loaders
const getStyleLoaders = (cssOptions, preProcessor) => {const loaders = [require.resolve('style-loader'),{loader: require.resolve('css-loader'),options: cssOptions,},{// Options for PostCSS as we reference these options twice// Adds vendor prefixing based on your specified browser support in// package.jsonloader: require.resolve('postcss-loader'),options: {// Necessary for external CSS imports to work// https://github.com/facebook/create-react-app/issues/2677ident: 'postcss',plugins: () => [require('postcss-flexbugs-fixes'),require('postcss-preset-env')({autoprefixer: {flexbox: 'no-2009',},stage: 3,}),/*****************************************/require('postcss-pxtorem')({rootValue: 100,propWhiteList: [],minPixelValue:2,})/*****************************************/],},},];if (preProcessor) {loaders.push(require.resolve(preProcessor));}return loaders;
};

index.html页面配置,加在head标签里,这段是个人一直在用的rem计算代码,mark一下,代码以 750px的设计稿为基准,可根据自身情况变更

    <title>React App</title><script>(function (doc, win) {var docEl = doc.documentElement,resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',recalc = function () {var clientWidth = docEl.clientWidth;if (!clientWidth) return;docEl.style.fontSize = 100 * (clientWidth / 750) + 'px';};if (!doc.addEventListener) return;win.addEventListener(resizeEvt, recalc, false);doc.addEventListener('DOMContentLoaded', recalc, false);})(document, window);</script>

如图,配置成功

稍微说下我的理解,因为找不到什么资料,所以我的理解只是来自于现象,rootValue 代表的字根,可以理解为一个除数,假如有个width:750px在px转换rem的计算中,会自动750px/rootValue,从而得到页面style上的7.5rem,然后根据js计算出的根字号,7.5rem*根字号,最后得到元素的对应值

最后,这个其实就是省掉了自己计算rem的步骤而已。。。

参考:
postcss-pxtorem
js实现rem自动匹配计算font-size的示例

react安装postcss-pxtorem相关推荐

  1. Nodejs,Npm,React安装教程

    React安装 1.下载node.js安装包 下载二进制包 选择比较稳定的版本进行安装,v8.9 2.安装 直接把文件解压复制到某个目录下, sudo cp -r node-v8.9.0 /opt/n ...

  2. react安装_「React实战」三分钟搭建React开发环境

    其实16年的时候就已经接触到React,那个时候也只是入门,时隔多年,工作上一直都没有接触到相关的业务,不知不觉,前端的天也开始渐变,看到 了很多招聘要求上都是要求会React,三大框架怎么也得熟悉使 ...

  3. react安装_超全面详细一条龙教程!从零搭建React项目全家桶(上篇)

    React是近几年来前端项目开发非常火的一个框架,其背景是Facebook团队的技术支持,市场占有率也很高.很多初学者纠结一开始是学react还是vue.个人觉得,有时间的话,最好两个都掌握一下.从学 ...

  4. react安装_前端大牛进阶---gt;React必会教程

    一.背景介绍01 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出来 ...

  5. React学习整理(一):React 安装

    官方提供的 CDN 地址: <script src="https://unpkg.com/react@16/umd/react.development.js">< ...

  6. React 安装及创建项目

    一.最熟悉的操作利用create-react-app搭建项目 1.全局安装create-react-app,执行:npm install -g create-react-app 命令进行安装 2.进入 ...

  7. react安装react development tools插件(edge浏览器)

    目录 一 下载 二 安装插件到egde浏览器 1 添加插件到浏览器 2 插件使用 一 下载 Download React Developer Tools 4.24.7 CRX File for Chr ...

  8. react学习经验总结(react安装)

    一.React 可以直接下载使用,下载包中也提供了很多学习的实例. 本教程使用了 React 的版本为 16.4.0,你可以在官网 https://reactjs.org/ 下载最新版. 你也可以直接 ...

  9. 解决react安装CRA启动spawn cmd ENOENT报错问题

    安装 安装:npx create-react-app 启用:create-react-app 项目名称 抽离webpack配置文件:yarn eject 启动 启动:yarn start 报错: 上述 ...

最新文章

  1. debian卸载php_如何卸载软件
  2. mac操作系统自带的文本编辑软件
  3. (5.1) Tomcat 8 源码, 实例化组件
  4. python网络编程---TCP客户端
  5. C语言运算符及其优先级汇总表口诀
  6. 快两年的时间,我都干了啥
  7. SSIS 连接ORACLE 无法从 SQL 命令中提取参数的解决方案
  8. 股债轮动策略之行业版
  9. 计算机盘中文件夹丢失,电脑装机后原区分f盘内文件夹丢失如何找回
  10. 阿里云 DNS 运维服务的演进和实践
  11. jsp实现简单购物车过程
  12. TalkingData :如何做到30分钟内完成对数十亿受众数据的分析 | 会员专栏
  13. OpenCV 实现读取摄像头、视频读取保存 (C++)
  14. 举个例子解释下什么是线程不安全?
  15. So easy 将程序部署到服务器
  16. 【持续更新】 2022年 (2023届) 计算机 软件 保研经历 保研经验贴 (菜鸟 211 低rank 无科研成果 复旦/浙大/西安交大/中山/武大/华师大/东南/国科大杭高院)
  17. Firefox流失近5000万用户,世界第三大浏览器正在消亡
  18. Cocos2d-x 3.1.1 学习日志16--A星算法(A*搜索算法)学问
  19. XOP 网格计划是什么?XOP 的特性
  20. 7.动态绘制(Jig)

热门文章

  1. kali下载中文输入法
  2. oa办公系统源码OA企业人事管理系统源码php协同自动化办公签到
  3. 王者荣耀小游戏(发给你的好兄弟(大怨种)^-^)
  4. 冬战柴达木的压裂“将士”
  5. 2021年Bootstrap实用手册和最强总结以及工具
  6. Discuz对不起,您安装的不是正版应用的解决办法
  7. 开发博客系统SpringBoot+Vue教程
  8. java注册头像_实现web版用户注册(可以上传头像)
  9. codevs1038
  10. **RL张力称重传感器及自动化中的应用**