详解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实现简单的Map示例介绍
Dec 23 Javascript
jquery实现点击消失的代码
Mar 03 Javascript
JavaScript检测实例属性, 原型属性
Feb 04 Javascript
跟我学习javascript的this关键字
May 28 Javascript
js中Number数字数值运算后值不对的解决方法
Feb 28 Javascript
jquery submit()不能提交表单的解决方法
Apr 24 jQuery
JavaScript for循环 if判断语句(学习笔记)
Oct 11 Javascript
微信小程序实现上传图片功能
May 28 Javascript
JavaScript反射与依赖注入实例详解
May 29 Javascript
extract-text-webpack-plugin用法详解
Feb 14 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
Apr 14 Javascript
小程序接口的promise化的实现方法
Dec 11 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采用ajax数据提交post与post常见方法总结
2014/11/10 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
使用Zttp简化Guzzle 调用
2017/07/02 PHP
PHP保留两位小数的几种方法
2019/07/24 PHP
javascript getElementsByName()的用法说明
2009/07/31 Javascript
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
jQuery中ajax的使用与缓存问题的解决方法
2013/12/19 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
JS+canvas实现的五子棋游戏【人机大战版】
2017/07/19 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
CKEditor4配置与开发详细中文说明文档
2018/10/08 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
python实现统计代码行数的方法
2015/05/22 Python
Python实现约瑟夫环问题的方法
2016/05/03 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
Python走楼梯问题解决方法示例
2018/07/25 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
selenium+python环境配置教程详解
2019/05/28 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
python 解决print数组/矩阵无法完整输出的问题
2020/02/19 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
CSS3 Flex 弹性布局实例代码详解
2018/11/01 HTML / CSS
表达自我的市场:Society6
2018/08/01 全球购物
常见的软件开发流程有哪些
2015/11/14 面试题
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
在校硕士自我鉴定
2014/01/23 职场文书
房地产项目策划书
2014/02/05 职场文书
运动会入场词100字
2014/02/06 职场文书
《纸船和风筝》教学反思
2014/02/15 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书