在 webpack 中使用 postcss
js
未来的 css 语法 --> 普通的 css --> js --> 页面 style 元素
postcss css-loader style-loader
步骤
- 搭建 webpack 环境,需要安装
sh
webpack
webpack-cli
html-webpack-plugin
- 准备.pcss 文件,在 index.js 引入
- 下载 postcss 和 postcss-loader
sh
#因为转换css代码依靠的是postcss的一个函数,这里就不需要使用postcss-cli了,直接使用loader
pnpm i postcss postcss-loader -D
配置 postcss.config.js 文件,文件需要 postcss 插件[postcss-preset-env] 配置.browserslistrc 文件
- 下载安装 css-loader 和 style-loader,并在 webpack 中配置
sh
pnpm i css-loader style-loader -D
- 最后,如果有需要 css 的校验,那么可以直接依靠 vscode 的 style-lint 插件,提供一个.stylelintrc
总结
在 webpack 中使用 postcss,只是不需要 postcss-cli 命令行工具,别的没有什么差别。
实践
这里只需要参考 webpack.config.js 和 postcss.config.js 即可,重点看里面的配置和插件
json
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "webpack",
"dev": "webpack-dev-server"
},
"author": "",
"license": "ISC",
"devDependencies": {
"css-loader": "^3.4.2",
"html-webpack-plugin": "^3.2.0",
"postcss": "^7.0.26",
"postcss-loader": "^3.0.0",
"postcss-preset-env": "^6.7.0",
"style-loader": "^1.1.3",
"stylelint-config-standard": "^19.0.0",
"webpack": "^4.41.5",
"webpack-cli": "^3.3.10",
"webpack-dev-server": "^3.10.3"
}
}
js
const HtmlWebpackPlugin = require("html-webpack-plugin");
module.exports = {
mode: "development",
devtool: "source-map",
//
devServer: {
open: true,
},
//
module: {
rules: [
{
test: /\.(css|pcss)$/,
use: ["style-loader", "css-loader?modules", "postcss-loader"],
},
],
},
//
plugins: [
new HtmlWebpackPlugin({
template: "./public/index.html",
}),
],
};
js
module.exports = {
map: false, //关闭source-map
plugins: {
"postcss-preset-env": {
stage: 0, //哪怕是处于草案阶段的语法,也需要转换
preserve: false,
},
},
};
json
{
"extends": "stylelint-config-standard",
"rules": {
"indentation": 4
}
}