Vue PostCSS的使用介绍

发布时间:2023-2-06 09:31

postcss 一种对css编译的工具,类似babel对js的处理,常见的功能如:

  • 1 . 使用下一代css语法
  • 2 . 自动补全浏览器前缀
  • 3 . 自动把px代为转换成rem
  • 4 . css 代码压缩等等

使用

创建好项目并且初始化npm init -y 创建一个页面,一个css

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PostCSS</title>
<link rel="stylesheet" href="./index.css" rel="external nofollow" >
</head>
<body>
<div class="box">
<div class="box_1">盒子1</div>
<div class="box_2">盒子2</div>
<div class="box_3">盒子3</div>
</div>
</body>
</html>

css

body{
    background-color: black;
}
.box{
    display: flex;
    justify-content: space-between;
    text-align: center;
}
.box_1{
    width: 200px;
    height: 100px;
    background-color: red;
    font-size: 18px;
    &:hover{
        background-color: blue;
    }
}
.box_2{
    width: 200px;
    height: 100px;
    background-color: yellow;
}
.box_3{
    width: 200px;
    height: 100px;
    background-color: blue;
}

安装依赖

npm i postcss postcss-cli

运行

npx是高版本node可以使用的

npx postcss 源文件名.css -o 编译后的文件名.css

这样就能转换一个新css文件,然而并没有啥变化

使用第三方插件autoprefixer

Autoprefixer是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里

主要用于处理兼容性问题 可以查看浏览器前缀信息

npx autoprefixer --info

运行 在-u 后面加上插件

 npx postcss index.css -o dist.css -u autoprefixer

如果觉得以上运行方式太垃,那我们就开启新的方式吧!!!

使用第三方插件postcss-preset-env

postcss-preset-env是一个兼容浏览器,给一些css加上前缀的插件

npm i --dev postcss-preset-env

运行后可以发现会自动给你做兼容性处理 源代码:

body{
    background-color: black;
}
.box{
    display: flex;
    justify-content: space-between;
    text-align: center;
}
.box_1{
    width: 200px;
    height: 100px;
    background-color: red;
    &:hover{
        background-color: blue;
    }
}
.box_2{
    width: 200px;
    height: 100px;
    background-color: yellow;
}
.box_3{
    width: 200px;
    height: 100px;
    background-color: blue;
}

编译后

body{
    background-color: black;
}
.box{
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    text-align: center;
}
.box_1{
    width: 200px;
    height: 100px;
    background-color: red;
    font-size: 1.125rem;
}
.box_1:hover{
        background-color: blue;
    }
.box_2{
    width: 200px;
    height: 100px;
    background-color: yellow;
}
.box_3{
    width: 200px;
    height: 100px;
    background-color: blue;
}

是不是觉得很方便很beautiful~

使用第三方插件postcss-pxtorem

它是一款自动将px转rem的插件

npm i --dev postcss-pxtorem

然后就可以正常使用了 本来是这样的:

.box_1{
    width: 200px;
    height: 100px;
    background-color: red;
    font-size: 18px;
   }

用了它就这样了:

.box_1{
    width: 200px;
    height: 100px;
    background-color: red;
    font-size: 1.125rem;
}

Is so good!!! 上方插件就演示这么多了,再介绍一下如何方便的运行:

运行的新方式

创建config文件

postcss.config.js

const postcssPresetEnv=require('postcss-preset-env')
module.exports={
    plugins: [
        require("autoprefixer"),
        postcssPresetEnv({
            stage:0 
        }),
        require("postcss-pxtorem"),//单位转换
    ]
}

这样就能使用了 通过npx postcss 源文件名.css -o 编译后文件名.css 如果还觉得繁琐可以在package.json中进行配置简化该运行命令!! 看完这篇文章还会不懂吗????完结~

Vue package.json配置深入分析 网站建设

Vue package.json配置深入分析

package.json是每个前端项目都会有的json文件,位于项目的根目录中。很多脚手架在创建项目的时候会帮我们自动初始化好 package.json。package.json有许多配置与项目息息相...