安裝:
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