详解Vue-cli webpack移动端自动化构建rem问题


Posted in Javascript onApril 07, 2018

相信很多小伙伴想着自己的移动端项目能够自动转换为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'
 }
}

这样就大功告成啦

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
读jQuery之三(构建选择器)
Jun 11 Javascript
js的一些常用方法小结
Jun 29 Javascript
上传的js验证(图片/文件的扩展名)
Apr 25 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
Aug 16 Javascript
Javascript基础知识(二)事件
Sep 29 Javascript
jQuery老黄历完整实现方法
Jan 16 Javascript
JSON字符串转JSON对象
Jul 31 Javascript
原生javascript实现addClass,removeClass,hasClass函数
Feb 25 Javascript
JavaScript编码风格指南(中文版)
Aug 26 Javascript
javascript数据类型详解
Feb 07 Javascript
深入理解js A*寻路算法原理与具体实现过程
Dec 13 Javascript
CountUp.js实现数字滚动增值效果
Oct 17 Javascript
vue-cli开发环境实现跨域请求的方法
Apr 07 #Javascript
Angular5给组件本身的标签添加样式class的方法
Apr 07 #Javascript
Vue实现内部组件轮播切换效果的示例代码
Apr 07 #Javascript
Javascript实现运算符重载详解
Apr 07 #Javascript
Vue中使用Sortable的示例代码
Apr 07 #Javascript
JavaScript实现简单动态进度条效果
Apr 06 #Javascript
js+css实现打字效果
Jun 24 #Javascript
You might like
php中存储用户ID和密码到mysql数据库的方法
2013/02/06 PHP
JavaScript面象对象设计
2008/04/28 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
使用GruntJS构建Web程序之安装篇
2014/06/04 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
JS实现用特殊符号替换字符串的中间部分区域的实例代码
2018/07/24 Javascript
微信小程序实现点击卡片 翻转效果
2019/09/04 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
python使用fileinput模块实现逐行读取文件的方法
2015/04/29 Python
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
Django中使用Celery的教程详解
2018/08/24 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
Python应用实现双指数函数及拟合代码实例
2020/06/19 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
如何设置Java的运行环境
2013/04/05 面试题
党校自我鉴定范文
2013/10/02 职场文书
抽奖活动主持词
2014/03/31 职场文书
党支部创先争优承诺书
2014/08/30 职场文书
初中班主任工作总结2015
2015/05/13 职场文书
小学生红领巾广播稿
2015/08/19 职场文书
Python中常见的反爬机制及其破解方法总结
2021/06/10 Python
Python中Selenium对Cookie的操作方法
2021/07/09 Python
Redis Cluster 集群搭建你会吗
2021/08/04 Redis
分享Python异步爬取知乎热榜
2022/04/12 Python
PYTHON 使用 Pandas 删除某列指定值所在的行
2022/04/28 Python