Vue3:脚手架配置

https://blog.csdn.net/weixin_41424247/article/details/80867351

与原来的vue-cli 2.x版本不同的是:如果使用最新版本的@vue/cli初始化vue项目时,通常看不到webpack的配制文件。而在原来的2.x版本,我们可以在utils.js中轻松配制px2rem相关配置。

1. 安装
安装lib-flexible:

npm i -S lib-flexible

npm i -D postcss postcss-loader postcss-px2rem

2. 在项目入口文件main.js中引入lib-flexible

import 'lib-flexible/flexible.js'

3.在项目public目录的index.html头部加入手机端适配的meta的代码
4.在根目录下创建配制文件vue.config.js,并配制如下信息

vue.config.js

module.exports = {
css: {
loaderOptions: {
css: {
// options here will be passed to css-loader
},
postcss: {
// options here will be passed to postcss-loader
plugins: [require('postcss-px2rem')({
remUnit: 75
})]
}
}
}
}

res:

注:

1.remUnit在这里要根据lib-flexible的规则来配制,如果您的设计稿是750px的,用75就刚刚好。

2.当你遇到1px的边框时,通常容易发现页面缺失部分边框,这时你可以使用/no/语法来屏蔽该属性转换,例如

border: 1px solid red; /*no*/

3.由于字体的特殊性,我们在编译font-size属性时,通常不使用rem单位,这时候你可以这样使用:

font-size: 24px; /*px*/

原生配置:

1. 安装
安装css文件打包插件

cnpm i -D MiniCssExtractPlugin css-loader

安装lib-flexible:

cnpm i -S lib-flexible

安装postcss和postcss-loader和postcss-px2rem:

cnpm i -D postcss postcss-loader postcss-px2rem

2. 在项目入口文件main.js中引入lib-flexible

main.js

import'lib-flexible/flexible.js';

3.在项目public目录的index.html头部加入手机端适配的meta的代码
4. 在根目录下创建配制文件vue.config.js,并配制如下信息

vue.config.js

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const CleanWebpackPlugin = require("clean-webpack-plugin");
const VueLoaderPlugin = require('vue-loader/lib/plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const px2rem = require('postcss-px2rem'); function resolve (dir) {
return path.join(__dirname,dir)
}
module.exports= {
mode:"development",
entry:"./src/main.js",
output:{
path:path.resolve(__dirname,"./dist"),
filename:"main.bundle.js"
},
resolve :{
extensions: ['.js', '.vue', '.json',".css"],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
}
},
devServer:{
contentBase:"./dist",
port:9000,
open:true,
},
plugins:[
new VueLoaderPlugin(),
new HtmlWebpackPlugin({
template:"./public/index.html",
filename:"index.html"
}),
new CleanWebpackPlugin(['./dist']),
new MiniCssExtractPlugin({
filename: "color.css",
// chunkFilename: "[id].css"
})
], module:{
rules:[
{ test: /\.vue$/, loader: 'vue-loader'},
//{test:/\.css$/,use:['style-loader','css-loader']},
{
test:/\.css$/,
exclude:/node_modules/,
use:[
MiniCssExtractPlugin.loader,
'css-loader',
{
loader:"postcss-loader",
options:{
plugins:()=>[
px2rem({remUnit: 75})
]
}
},
]
},
{
test:/\.js$/,
exclude:/(node_modules|bower_components)/,
use:['babel-loader']
},
{
test:/(png|gif|jp(e)?g)$/,
use:[
{
loader:'url-loader',
options:{
limit:8192
}
}
]
} ]
}
}

res:

参考资料:

postcss-px2rem: https://www.npmjs.com/package/postcss-px2rem

mini-css-extract-plugin:https://webpack.js.org/plugins/mini-css-extract-plugin/#src/components/Sidebar/Sidebar.jsx

https://blog.csdn.net/mx18519142864/article/details/80771700

{
test: /\.css$/,
exclude: /node_modules/,
use: [ MiniCssExtractPlugin.loader,
"css-loader",
// "postcss-loader"
{
loader:"postcss-loader",
options:{
plugins:()=>[
px2rem({remUnit: 75})
]
}
}, ]
},

28. css样式中px转rem的更多相关文章

  1. css大小单位px em rem的转换和详解

    css大小单位px em rem的转换和详解 PX特点1. IE无法调整那些使用px作为单位的字体大小:2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位:3. Firefox能 ...

  2. jQuery获取CSS样式中的颜色值的问题

    转自:http://blog.csdn.net/cwj649956781/article/details/23261529 jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法,需 ...

  3. CSS样式中” 大于号”

    CSS样式中” 大于号” 在一段CSS代码中见到一个大于号(>),代码如下: BODY#css-zen-garden > DIV#extraDiv2 { BACKGROUND-IMAGE: ...

  4. canvas基础入门(一)canvas的width、height于css样式中的宽高区别

    canvas的width.height于css样式中的宽高对画布的内容显示是有所区别的 1.在canvas标签下调用他的width和height,而且是没有单位的宽高,这种指定canvas大小的方法也 ...

  5. 针对firefox ie6 ie7 ie8的css样式中的line-height属性

    针对firefox ie6 ie7 ie8的css样式中的line-height属性 以前我们大部分都是用!important来hack,对于ie6和firefox测试可以正常显示,但是ie7以上对! ...

  6. css样式中@import引入样式

    css样式中@import引入样式 学习了:http://www.cnblogs.com/zbo/archive/2010/11/17/1879590.html

  7. css中px,em,rem,rpx的区别

    今天看到一个面试题为 px,em的区别,为了更好地让读者区分css的长度单位,我总结下css中常用的长度单位: px,em,rem,rpx 像素px是我们在定义CSS中经常用到的尺寸大小单位,而em在 ...

  8. css单位中px和em,rem的区别

    css单位中分为相对长度单位.绝对长度单位. 今天我们主要讲解rem.em.px这些常用单位的区别和用法. px(绝对长度单位) 相信对于前端来说px这个单位是大家并不陌生,px这个单位,兼容性可以说 ...

  9. CSS样式中ClearBoth的理解

    在CSS中我们会经常要用到“清除浮动”Clear,比较典型的就是clear:both; CSS手册上是这样说明的:该属性的值指出了不允许有浮动对象的边.这个属性是用来控制float属性在文档流的物理位 ...

随机推荐

  1. SharePoint JavaScript 更新用户和组字段

    前言 最近,需要更新列表字段,字段的类型是用户和组,so写了这么一段代码 function updateUserField(){ var ctx = new SP.ClientContext.get_ ...

  2. ABAP WB01 BDC ”No batch input data for screen & &“ ”没有屏幕 & & 的批输入数据“

    公司今年计划大批扩建门店,需要自动化维护相关主数据,其中就有一步通过调用 WB01的BDC录屏来自动创建地点,前台跑没有问题,但后台JOB死活不行,屏幕是以前同事录好的,只能硬着头皮修改. 后台任务日 ...

  3. MUI框架开发HTML5手机APP(二)--页面跳转传值&底部选项卡切换

      概 述 JRedu 在上一篇博客中,我们学习了如何使用Hbuilder创建一个APP,同时如何使用MUI搭建属于自己的第一款APP,没有学习的同学可以戳链接学习: http://www.cnblo ...

  4. 【T09】要认识到TCP是一个可靠的,但不是绝对可靠的协议

    1.稍微想一下就知道,TCP不是绝对可靠的协议,比如:网络断开,主机崩溃,无论TCP如何努力,都无法将数据传给对方. 2.考虑应用程序A向应用程序B发送数据的TCP流程,数据流从应用程序A通过他所在主 ...

  5. springboot项目logback配置文件示例

    logback-spring.xml <?xml version="1.0" encoding="UTF-8"?> <configuratio ...

  6. 【Linux】关于ffmpeg的一些常见用法

    一.FFmpeg简介 FFmpeg是一款非常快速的视频和音频转换器, 是开源项目 FFmpeg (Fast Forward moving pictures expert group) 的命令行程序. ...

  7. 关于用wkwebview加载沙盒documents下html文件 模拟器可以,真机不行的解决方案

    最近也遇到这个问题,把我解决的思路记录一下 1.问题: 用wkwebview加载(loadRequest)沙盒documents下html文件 模拟器可以,真机不行 (前提是html内部含引用外联样式 ...

  8. Eclipse安装Git插件及简单操作

    0. 前言 说一件事,说起来也是好笑,工作三年半了,还没接触到团队开发,都是一个人小打小闹.因此连Git都没有使用过.感觉好Low的,这一篇,简单讲一下,Eclipse配置Git插件,并提交代码到Gi ...

  9. zookeeper做集群后启动不了,大部分原因是防火墙未关闭

    zookeeper做单机版,可以正常启动:但是zookeeper做集群后启动不了,大部分原因是防火墙未关闭. centos的关闭防火墙方法比较独立. systemctl stop firewalld. ...

  10. Quartz与Spring Boot集成使用

    上次自己搭建Quartz已经是几年前的事了,这次项目中需要定时任务,需要支持集群部署,想到比较轻量级的定时任务框架就是Quartz,于是来一波. 版本说明 通过搜索引擎很容易找到其官网,来到Docum ...