详解Vue-cli webpack移动端自动化构建rem问题
作者:曦沙飞舞 发布时间:2024-04-29 13:40:06
相信很多小伙伴想着自己的移动端项目能够自动转换为rem,这才符合前端的潮流,如果用自己手写或者编辑器插件来改动十分不方便还容易出错,我在网上找了很多的方法发现以下问题:
1 照着老的视频教程去弄,发现node npm webpack px2rem的各种插件版本都不一样,根本没用
2 网上的教程缺斤少俩,不完整,搞得我整了半天搞不定,想想干脆手动vscode 的cssrem设置算了,但老子还是不服气,东拼西凑还是整出来了,最后还是研究出了以下方法希望对大家的移动端自动化构建rem有帮助
1 安装vue-cli这个就不多说了,大家都应该会
2 安装和配置px2rem-loader(这里没有用postcss试过了很多问题还是决定用这个)
第一步 :npm install px2rem-loader
第二部 : webpack.base.conf.js下添加对象,这里我用的是sass,用其他的按照下面规律改就行了,相信都看得懂
module.exports={
module: {
rules: [
{
test: /\.(css|less|scss)(\?.*)?$/,
loader: 'style-loader!css-loader!sass-loader!less-loader!postcss-loader'
}
]
}
}
第三步 : webpack.dev.conf.js下的plugins添加一个东西,大家一定要注意remUnit这个属性,就是在苹果5情况下为40px,我这里定为40,也有人定为80,我这里40是为了配合hotcss使用下面我会讲到
plugins: [
new webpack.LoaderOptionsPlugin({
// webpack 2.0之后, 此配置不能直接写在自定义配置项中, 必须写在此处
vue: {
postcss: [require('postcss-px2rem')({ remUnit: 40, propWhiteList: [] })]
}
}
]
第四部 : 这是多人不知道的,很多人就是差这一步,utils.js下找到const cssLoader加上?importLoaders=1
const cssLoader = {
loader: 'css-loader?importLoaders=1',
options: {
minimize: process.env.NODE_ENV === 'production',
sourceMap: options.sourceMap
}
}
到这里为止安装就完成了
输入font-size:40px
输出font-size:1rem (在iphone下)
3 我们都知道设备的像素比不一样的,所以我们用hotcss来调整设备的像素比 链接
我放在了src/assets/js/里面大家可根据习惯来
引入方法,自己定义什么名字都行,这里我吧hotcss.js改为了viewport.js
module.exports = {
entry: {
app: './src/main.js',
rem: './src/assets/js/viewport.js'
}
}
这样就大功告成啦
来源:https://segmentfault.com/a/1190000014215042


猜你喜欢
- 1.变量的输入:input函数:input()input("请输入银行卡密码")password = input(&qu
- alt的准确含义是,当照片不存在或者load错误时的提示。但同时img也同时支持alt和title,再有某些浏览器的错误解析,因此经常被误导
- 前言:并行编程比程序编程困难,除非正常编程需要创建大量数据,计算耗时太长,物理行为模拟困难例子:N体问题物理前提:牛顿定律时间离散运动方程普
- 最近项目中要用到一个正则表达式,排除某个字符串,我们知道排除单个字符串的话,可以用[^abc],这样就可以排除a或者b或者c了,但是要排除a
- 本文实例讲述了PHP日志LOG类定义与用法。分享给大家供大家参考,具体如下:<?php/*** PHP log 类 */class C
- base64模块是用来作base64编码解码的。这种编码方式在电子邮件中是很常见的。它可以把不能作为文本显示的二进制数据编码为可显示的文本信
- python安装reportlabpip install reportlab -i http://pypi.douban.com/simpl
- 起源当同一个远程服务器有多个人使用的时候,想知道服务器是否有人在用,我们不能直接的去登录,因为这样可能会把对方挤下来,这并不友好,所以这里提
- Python中执行系统命令常见的方法有以下4种注意:以下实例代码在Python3.5下运行通过。一、os.system方法os.system
- 有这种要求,更新自己本身的字段的某个值进行加或者减常规方法:UPDATE tbl_kintai_print_hisSET &nb
- 我就废话不多说了,大家还是直接看代码吧~import tensorflow as tffrom sklearn.metrics import
- 前言:由于做项目需要一个树形选择器,项目用的也是element-ui框架,然而它自带的选择器组件没有树形选项,又不想引入其他的框架组件,于是
- 工作中遇到一个问题,两个字符串匹配,要求:每个字符串中最多含有一个*,?可以无限多个*代表一个任意长度的字符串,而?则代表一个字符要求可以提
- 在命令行输入mysql -u root –p,输入密码,或通过工具连接数据库时,经常出现下面的错误信息,相信该错误信息很
- 这篇文章主要介绍了python StringIO如何在内存中读写str,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学
- 1.在本地建立项目 可使用Eclipse,Idea等开发工具创建项目 打开根目录到所在在工程名的下一级2.使用git 客户端 进
- 在matplotlib官网看到了第三方库numpngw的简介,利用该库作为插件可以辅助matplotlib生成png动画。numpngw概述
- 问题有一个元素序列,想知道在序列中出现次数最多的元素是什么解决方案collections 模块中的 Counter 类转让给女士为此问题所设
- 本文研究的主要是PyQt5打开文件对话框QFileDialog的代码示例,具体如下。单个文件打开 QFileDialog.getOpenFi
- 今天学到了如何使用Python的smtplib库发送邮件,中间也是遇到了各种各样的错误和困难,还好都一一的解决了。下面来谈一谈我的这段经历。