安装:
javascript
npm install --save-dev less-loader less
使用:
css
// webpack.config.js module.exports = { ... module: { rules: [{ test: /\.less$/, use: [{ loader: "style-loader" // creates style nodes from JS strings }, { loader: "css-loader" // 将CSS转换为CommonJS }, { loader: "less-loader" // 将 Less 转换为 CSS }] }] } };
安装:
html
npm install sass-loader node-sass webpack --save-dev
使用:
前端
// webpack.config.js module.exports = { ... module: { rules: [{ test: /\.scss$/, use: [{ loader: "style-loader" // 将 JS 字符串生成为 style 节点 }, { loader: "css-loader" // 将 CSS 转化成 CommonJS 模块 }, { loader: "sass-loader" // 将 Sass 编译成 CSS }] }] } };
Sass的缩排语法,对于写惯css前端的web开发者来讲很不直观,也不能将css代码加入到Sass里面,所以sass语法进行了改良,Sass3就变成了Scss(sassy css)。与原来的语法兼容,只是用{}取代了原来的缩进。java
PostCSS 的主要功能只有两个:node
PostCSS 通常不单独使用, 而是与已有的构建工具进行集成。PostCSS 与主流的构建工具,如 Webpack完成集成以后,选择知足功能需求的 PostCSS 插件并进行配置。webpack
安装:
git
npm i -D postcss-loader
使用:
postcss.config.jsgithub
module.exports = { parser: 'sugarss', plugins: { 'postcss-import': {}, 'postcss-cssnext': {}, 'cssnano': {} } }
更多配置web
module.exports = { module: { rules: [ { test: /\.css$/, use: [ 'style-loader', { loader: 'css-loader', options: { importLoaders: 1 } }, 'postcss-loader' ] } ] } }
安装:
npm install --save-dev css-loader style-loader
使用:
{ module: { rules: [ { test: /\.css$/, use: [ { loader: "style-loader" }, { loader: "css-loader" } ] } ] } }
注意:使用style-loader进行处理,位置必须在css-loader前面
若是你喜欢使用PostCSS,但又不想抛弃你最喜欢的预处理器。不用担忧,你不须要做出二选一的选择,你能够把PostCSS和预处理器(Sass、LESS)结合起来使用。
{ module: { rules: [ { test: /\.css$/, use: [ "style-loader", { loader: "css-loader", options: { importLoaders: 1 } }, { loader: "postcss-loader" } ] }, { test: /\.scss$/, use: [ "style-loader", { loader: "css-loader", options: { importLoaders: 2 } }, { loader: "postcss-loader" }, { loader: "sass-loader", options: {} } ] }, { test: /\.less$/, use: [ "style-loader", { loader: "css-loader", options: { importLoaders: 1 } }, { loader: "postcss-loader" }, { loader: "less-loader", options: { javascriptEnabled: true } } ] } ] } }
请注意,Next.js没法使用css-loader。 请参阅官方页面上的警告https://github.com/zeit/next.js/#customizing-webpack-config
警告:不建议添加加载程序以支持新的文件类型(css,less,svg等),由于只有客户端代码经过webpack捆绑在一块儿,所以在初始服务器渲染中不起做用。 Babel插件是一个不错的选择,由于它们在服务器/客户端渲染之间一致地应用
nextjs-starter-kit
webpack loaders
关于sass(scss)、less、postcss、stylus等的用法与区别
对postcss以及less和sass的研究
PostCSS深刻学习: PostCSS和Sass、Stylus或LESS一块儿使用
Webpack 之 css-Loader 详解
webpack4配置之——06:配置样式-css、postcss、scss、less