PostCSS 介绍

PostCSS 是一个用 JavaScript 工具和插件转换 CSS 代码的工具。

  • 可以自动为 CSS 规则添加前缀;
  • 将最新的 CSS 语法转换成大多数浏览器都能理解的语法;
  • css-modules 解决全局命名冲突问题。

postcss-loader

postcss-loader 使用 PostCSS 处理 CSS 的 loader。

依赖的安装

  1. npm install --save-dev postcss-loader postcss postcss-preset-env

配置

修改通用环境配置文件 webpack.commom.js:

  1. const paths = require('./paths');
  2. module.exports = {
  3. module: {
  4. rules: [
  5. // 一同将css sass postcss 一起的配置
  6. {
  7. test: /\.module\.(scss|sass)$/,
  8. include: paths.appSrc,
  9. use: [
  10. // 将 JS 字符串生成为 style 节点
  11. 'style-loader',
  12. // 将 CSS 转化成 CommonJS 模块
  13. {
  14. loader: 'css-loader',
  15. options: {
  16. // Enable CSS Modules features
  17. modules: true,
  18. importLoaders: 2,
  19. // 0 => no loaders (default);
  20. // 1 => postcss-loader;
  21. // 2 => postcss-loader, sass-loader
  22. },
  23. },
  24. // 将 PostCSS 编译成 CSS
  25. {
  26. loader: 'postcss-loader',
  27. options: {
  28. postcssOptions: {
  29. plugins: [
  30. [
  31. // postcss-preset-env 包含 autoprefixer
  32. 'postcss-preset-env',
  33. ],
  34. ],
  35. },
  36. },
  37. },
  38. // 将 Sass 编译成 CSS
  39. 'sass-loader',
  40. ],
  41. },
  42. ],
  43. },
  44. }

为提升构建效率,为 loader 指定 include,通过使用 include 字段,仅将 loader 应用在实际需要将其转换的模块。