详解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 相关文章推荐
Js 中debug方式
Feb 07 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
Nov 08 Javascript
jquery操作angularjs对象
Jun 26 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
Feb 15 Javascript
基于jQuery插件实现点击小图显示大图效果
May 11 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
May 17 Javascript
适用于手机端的jQuery图片滑块动画
Dec 09 Javascript
javaScript实现复选框全选反选事件详解
Nov 20 Javascript
React 组件间的通信示例
Jun 14 Javascript
React router动态加载组件之适配器模式的应用详解
Sep 12 Javascript
JavaScript 类的封装操作示例详解
May 16 Javascript
通过vue.extend实现消息提示弹框的方法记录
Jan 07 Vue.js
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高级对象构建 多个构造函数的使用
2012/02/05 PHP
php缓冲 output_buffering和ob_start使用介绍
2014/01/30 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
php实现图片压缩处理
2020/09/09 PHP
JavaScript脚本判断蜘蛛来源的方法
2015/09/22 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
bootstrap下拉列表与输入框组结合的样式调整
2016/10/08 Javascript
Ionic2调用本地SQlite实例
2017/04/22 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
JavaScript函数中的this四种绑定形式
2017/08/15 Javascript
JS中的Replace()传入函数时的用法详解
2017/09/11 Javascript
利用nginx + node在阿里云部署https的步骤详解
2017/12/19 Javascript
VSCode配置react开发环境的步骤
2017/12/27 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
nodejs基于WS模块实现WebSocket聊天功能的方法
2018/01/12 NodeJs
微信小程序之多文件下载的简单封装示例
2018/01/29 Javascript
ES6数组与对象的解构赋值详解
2019/06/14 Javascript
vue使用websocket的方法实例分析
2019/06/22 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
React学习之受控组件与数据共享实例分析
2020/01/06 Javascript
使用 Vue-TCB 快速在 Vue 应用中接入云开发的方法
2020/02/10 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
基于python进行抽样分布描述及实践详解
2019/09/02 Python
Python识别验证码的实现示例
2020/09/30 Python
python os.rename实例用法详解
2020/12/06 Python
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
公司出纳岗位职责
2013/12/07 职场文书
十佳大学生村官事迹
2014/01/09 职场文书
班主任寄语大全
2014/04/04 职场文书
预备党员期盼十八届四中全会召开思想汇报
2014/10/17 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书
幸福终点站观后感
2015/06/04 职场文书
中秋节主题班会
2015/08/14 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
Python实现生成bmp图像的方法
2021/06/13 Python