详解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 常用方法经典总结
Jan 28 Javascript
javascript showModalDialog,open取得父窗口的方法
Mar 10 Javascript
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
Feb 16 Javascript
JSONP 跨域共享信息
Aug 16 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
Apr 25 Javascript
基于jQuery实现最基本的淡入淡出效果实例
Feb 02 Javascript
JavaScript实现的伸展收缩型菜单代码
Oct 14 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
Jun 11 jQuery
浅谈mvvm-simple双向绑定简单实现
Apr 18 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
Nov 16 Javascript
js实现html滑动图片拼图验证
Jun 24 Javascript
vue cli4.0项目引入typescript的方法
Jul 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伪静态页面函数附使用方法
2008/06/20 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
PHP根据IP地址获取所在城市具体实现
2013/11/27 PHP
2014过年倒计时示例
2014/01/31 PHP
PHP header()函数常用方法总结
2014/04/11 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
php判断邮箱地址是否存在的方法
2016/02/13 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
微信小程序 九宫格实例代码
2017/01/21 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
nodejs实现套接字服务功能详解
2018/06/21 NodeJs
JS使用Dijkstra算法求解最短路径
2019/01/17 Javascript
[28:42]Ti4正赛VG vs NEWBEE1
2014/07/19 DOTA
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
常见的python正则用法实例讲解
2016/06/21 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
python sklearn库实现简单逻辑回归的实例代码
2019/07/01 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
2020/01/07 Python
python实现五子棋游戏(pygame版)
2020/01/19 Python
在python image 中实现安装中文字体
2020/05/16 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
2020/08/11 Python
ASP.NET Core中的配置详解
2021/02/05 Python
Sarenza德国:法国最大的时尚鞋和包包网上商店
2019/06/08 全球购物
什么是网络协议
2016/04/07 面试题
大学生个人自荐信
2014/02/24 职场文书
企业办公室岗位职责
2014/03/12 职场文书
小学先进集体事迹材料
2014/05/31 职场文书
校园文化标语
2014/06/18 职场文书
python之基数排序的实现
2021/07/26 Python
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL