React移动端适配解决方案lib-flexible和postcss-px2rem、node.getIterator is not a function 报错使用postcss-pxtorem

React移动端适配解决方案lib-flexible和postcss-px2rem

第一步

我们把两个包下载下来

npm install lib-flexible postcss-px2rem

第二步

在项目入口文件index.js引入lib-flexible

import 'lib-flexible';

在这里插入图片描述

第三步

# 使用npm
npm run eject
 
# 使用yarn
yarn run eject
 
#使用yarn时也可以不加run
yarn eject

在webpack中配置postcss-px2rem

webpack.config.js

  1. 引入模板
    在这里插入图片描述

  2. 添加配置 : px2rem({ remUnit: 37.5 }) 这里是375px宽,750 就用75

//在postcss-loader的插件中加入这个插件
//px2rem({ remUnit: 75 }) 的意思就是1rem = 75px 这个是根据750px设计稿来的,如果是620 的就写 62
px2rem({ remUnit: 75 })

在这里插入图片描述

第四步

注释掉模板index.html内的

 <!-- <meta name="viewport" content="width=device-width, initial-scale=1" /> --> 

在这里插入图片描述

第五步

直接使用px

问题分割线====================

一、淘宝弹性布局方案lib-flexible不兼容ipad和ipad pro的解决方法

<script>
        /(iPhone|iPad|iPhone OS|Phone|iPod|iOS)/i.test(navigator.userAgent)&&(head=document.getElementsByTagName('head'),viewport=document.createElement('meta'),viewport.name='viewport',viewport.content='target-densitydpi=device-dpi, width=480px, user-scalable=no',head.length>0&&head[head.length-1].appendChild(viewport));
</script>

二、node.getIterator is not a function 报错

最近使用react18配置时会报错

原因:用了postcss-px2rem与postcss-px2rem-exclude导致的问题,

解决方案:卸载后postcss-px2rem, 安装使用postcss-pxtorem。

在webpack.config.js设置如下代码,可以自行更改设置,解决问题。

npm 删除模块
【npm uninstall xxx】删除xxx模块;
【npm uninstall -g xxx】删除全局模块xxx;
require('postcss-pxtorem')({
                  rootValue: 37.5,
                  selectorBlackList: [], //过滤
                  propList: ['*'],
                  exclude: /node_modules/i  // 过滤掉node_modules 文件夹下面的样式
                }),

在这里插入图片描述
效果
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值