1.使用Can I Use中的值为CSS规则添加供应商前缀。Autoprefixer将使用基于当前浏览器流行度和属性支持的数据为您应用前缀。
2.PostCSS Preset Env允许您将现代CSS转换为大多数浏览器可以理解的内容,使用cssdb根据目标浏览器或运行时环境确定所需的polyfill。
3.CSS模块意味着你永远不必担心你的名字过于通用,只需使用最有意义的东西。
4.使用stylelint(现代CSS linter)实现一致的约定并避免样式表中的错误。它支持最新的CSS语法,以及类似CSS的语法,例如SCSS。
Webpack
Use postcss-loader
in webpack.config.js
:
module.exports = { module: { rules: [ { test: /.css$/, exclude: /node_modules/, use: [ { loader: 'style-loader', }, { loader: 'css-loader', options: { importLoaders: 1, } }, { loader: 'postcss-loader' } ] } ] } }
Then create postcss.config.js
:
module.exports = {
plugins: [
require('precss'),
require('autoprefixer')
]
}
JS API
For other environments, you can use the JS API:
const autoprefixer = require('autoprefixer')
const postcss = require('postcss')
const precss = require('precss')
const fs = require('fs')
fs.readFile('src/app.css', (err, css) => {
postcss([precss, autoprefixer])
.process(css, { from: 'src/app.css', to: 'dest/app.css' })
.then(result => {
fs.writeFile('dest/app.css', result.css, () => true)
if ( result.map ) {
fs.writeFile('dest/app.css.map', result.map, () => true)
}
})
})