详解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 相关文章推荐
javascript之水平横向滚动歌词同步的应用
May 07 Javascript
jquery 双色表格实现代码
Dec 08 Javascript
Package.js  现代化的JavaScript项目make工具
May 23 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
Apr 24 Javascript
JS实现保留n位小数的四舍五入问题示例
Aug 03 Javascript
EasyUI Combobox设置默认值 获取text的方法
Nov 28 Javascript
JS返回只包含数字类型的数组实例分析
Dec 16 Javascript
Vue.js学习之过滤器详解
Jan 22 Javascript
JavaScript函数参数的传递方式详解
Mar 06 Javascript
关于单文件组件.vue的使用
Sep 20 Javascript
Vue 嵌套路由使用总结(推荐)
Jan 13 Javascript
vue自定义树状结构图的实现方法
Oct 18 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 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
用ASP将SQL搜索出来的内容导出为TXT的代码
2007/07/27 Javascript
js 实现日期灵活格式化的小例子
2013/07/14 Javascript
JavaScript执行顺序详细介绍
2013/12/04 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
JS处理json日期格式化问题
2015/10/01 Javascript
jQuery unbind()方法实例详解
2016/01/19 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
Vue表单及表单绑定方法
2018/09/04 Javascript
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
详解nvm管理多版本node踩坑
2019/07/26 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
Taro小程序自定义顶部导航栏功能的实现
2020/12/17 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
python比较两个列表大小的方法
2015/07/11 Python
关于python pyqt5安装失败问题的解决方法
2017/08/08 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
材料专业毕业生求职信
2014/02/26 职场文书
保险内勤岗位职责
2014/04/05 职场文书
党的群众路线对照检查材料思想汇报(学校)
2014/10/04 职场文书
幼儿园教师读书笔记
2015/06/29 职场文书
2015年医院保卫科工作总结
2015/07/23 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
《中华上下五千年》读后感3篇
2019/11/29 职场文书
python控制台打印log输出重复的解决方法
2021/05/14 Python
Node实现搜索框进行模糊查询
2021/06/28 Javascript
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript
Python Numpy库的超详细教程
2022/04/06 Python