Wang's blog Wang's blog
首页
  • 前端文章

    • HTML教程
    • CSS
    • JavaScript
  • 前端框架

    • Vue
    • React
    • VuePress
    • Electron
  • 后端技术

    • Npm
    • Node
    • TypeScript
  • 编程规范

    • 规范
  • 我的笔记
  • Git
  • GitHub
  • VSCode
  • Mac工具
  • 数据库
  • Google
  • 服务器
  • Python爬虫
  • 前端教程
更多
收藏
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Wang Mings

跟随大神,成为大神!
首页
  • 前端文章

    • HTML教程
    • CSS
    • JavaScript
  • 前端框架

    • Vue
    • React
    • VuePress
    • Electron
  • 后端技术

    • Npm
    • Node
    • TypeScript
  • 编程规范

    • 规范
  • 我的笔记
  • Git
  • GitHub
  • VSCode
  • Mac工具
  • 数据库
  • Google
  • 服务器
  • Python爬虫
  • 前端教程
更多
收藏
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Python爬虫

  • 前端教程

    • 团队规范

    • Project

      • Axios用法与原理
      • css布局技巧
      • 深度学习平台术语
      • 谈谈前端天花板问题
      • 一个程序员的成长之路
      • Markdown-It 解析原理
      • minipack源码解析
      • PostCSS
        • [#](#概念) 概念
        • [#](#常用插件) 常用插件
        • [#](#webpack配置postcss插件) Webpack配置PostCSS插件
        • [#](#与sass配合) 与Sass配合
      • Electron工程踩坑记录
      • H5 Video踩坑记录
      • Puppeteer翻页爬虫
      • 重构你的javascript代码
      • RxJS入门实践
      • 官网脚手架思考与实践
      • Stylelint样式规范工具
      • TypeScript开发Vue应用
      • Typescript tsconfig.json全解析
      • Vue项目TypeScript指南
      • TypeScript在Vue2.x中的坑
      • Vue Dialog弹窗解决方案
      • Vue JSX插件依赖及语法实践
      • Webpack 模块打包原理
      • Webpack4 配置详解
      • Webpack4 devServer配置详解
      • Webpack3.x升级Webpack4指南
    • JS

    • NodeJS

    • Vue

    • React

    • 效率工具

    • 读书笔记

  • 教程
  • 前端教程
  • Project
wangmings
2022-07-19
目录

PostCSS

# # PostCSS

# # 概念

PostCSS 本身是一个功能比较单一的工具。它提供了一种方式用 JavaScript 代码来处理 CSS。它负责把 CSS 代码解析成抽象语法树结构(Abstract Syntax Tree,AST),再交由插件来进行处理。PostCSS 的强大之处在于其不断发展的插件体系。

开发者一个常见的误解是,PostCSS是另一个像SASS和LESS的预处理器。相信很多人使用PostCSS插件,会把注意力放到模仿其它预处理特性上,如变量,条件语句,循环和混入。随着PostCSS的发展,许多其他功能的插件被开发出来,有许多完全和传统的预处理器不同的新特性被引入。

你可以把PostCSS,当成像SASS和LESS这样的预处理器使用,你也可以用一些像SASS,LESS的扩展,来升级你的工具集。

# # 常用插件

  • autoprefixer (opens new window) (opens new window) 给css加前缀
  • precss (opens new window) (opens new window) 提供类似sass语法,告别sass包
  • cssnext (opens new window) (opens new window) 将未来CSS特性编译为现今支持的特性
  • px2rem-postcss (opens new window) (opens new window) 将px转为rem工具。移动端强烈推荐

# # Webpack配置PostCSS插件

如下例子,webpack配置了precss和autoprefixer插件:

    // Wepack 4.x in webpack.config.js
    module.exports = {
        module: {
            rules: [
                {
                    test:   /\.css$/,
                    use: ['style-loader', 'css-loader', 'postcss-loader']
                }
            ]
        }
    }
    
    // postcss.config.js
    module.exports = {
      plugins: [
          "precss": {},
          "autoprefixer": {}
      ]
    }
    
    // 或者
    module.exports = {
        module: {
            rules: [
                {
                    test: /\.css$/,
                    use: [
                        'style-loader',
                        'css-loader',
                        {
                            loader: 'postcss-loader',
                            options: {
                                ident: 'postcss',
                                plugins: [
                                    require('precss')({...options}),
                                    require('autoprefixer')({...options})
                                ]
                            }
                        }
                    ]
                }
            ]
        }
    }
    
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

# # 与Sass配合

如果你对PostCSS的各种特性很感兴趣,但又不想放弃熟练使用的Sass。不用担心,你可以完全把Sass与PostCSS结合使用.

  1. 安装LibSass:npm install node-sass --save-dev
  2. 在配置文件中先对.scss文件进行处理后再用PostCSS进行处理
编辑 (opens new window)
minipack源码解析
Electron工程踩坑记录

← minipack源码解析 Electron工程踩坑记录→

最近更新
01
theme-vdoing-blog博客静态编译问题
09-16
02
搜索引擎
07-19
03
友情链接
07-19
更多文章>
Theme by Vdoing | Copyright © 2019-2022 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式