溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

webpack如何處理css\less\sass樣式

發(fā)布時(shí)間:2021-08-03 10:21:41 來(lái)源:億速云 閱讀:154 作者:小新 欄目:web開(kāi)發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)webpack如何處理css\less\sass樣式,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

具體如下:
(一)處理普通的.css 文件,需要安裝 css-loader,style-loader

.less 文件,需要安裝 less-loader

.sass 文件,需安裝  less-loader

npm install --save-dev css-loader
npm install --save-dev css-loader
npm install less-loader --save-dev

(二)在項(xiàng)目中,我們會(huì)遇到 不同瀏覽器,前綴不同。比如 display: flex ,在IE以及谷歌下前綴是不同的,

這時(shí)候,我們需要 postcss 這樣的插件

npm install postcss-loader --save-dev
npm install autoprefixer --save-dev

安裝好相關(guān)loader后,我們需要在webpack.config.js 中 加入相關(guān)配置代碼,如下

var htmlWebpackPlugin = require('html-webpack-plugin');
var path = require('path');
console.log(__dirname);
module.exports = {
  /*context: __dirname,*/
  entry: './src/app.js',

  output: {
    path: './dist',
    filename: 'js/[name]-bound.js'//生成后的文件名 為 a-2ea5b2e9b258a8bbba73.js,main-2ea5b2e9b258a8bbba73.js
  },
  module: {
    loaders: [
      {
        test: /\.css$/, //正則表達(dá)式,匹配.css文件
        loader: 'style!css?importLoaders=1!postcss' //處理順序 從右到左
                // ?importLoaders=1 表示 引入嵌入的 css文件也會(huì)按照postcss這樣自動(dòng)添加前綴
      },
      {
        test: /\.less$/,
        loader: 'style!css!postcss!less'
      }
    ],
    rules: [{
      test: /\.(css|scss|less)$/,
      loader:"style-loader!css-loader?importLoaders=1!postcss-loader" //由于webpack2.X 版本對(duì)post-css書(shū)寫(xiě)方式的改變
                                              //需要新添加 postcss.config.js
    }] 
  },
  plugins: [
    new htmlWebpackPlugin({
      filename: 'index.html', //通過(guò)模板生成的文件名
      template: 'index.html',//模板路徑
      inject: 'body' //是否自動(dòng)在模板文件添加 自動(dòng)生成的js文件鏈接

    })
  ]
};

postcss.config.js 代碼如下

module.exports = {
  plugins: [
    require('autoprefixer')({
      browsers: 'last 5 version' //前五種瀏覽器版本
    })
  ]
};
import layer from './components/layer/layer.js';
import './css/common.css';

const App = function () {
  console.log(layer);
}

new App();

layer.js

import './layer.less';

function layer(){
  return{
    name:'layer',
    tpl:'tpl'
  };
}

export default layer;
//layer.less
.layer{
 width:600px;
 height: 200px;
 border: 1px solid yellow;
}

//common.css
@import "flex.css";
html{
  background-color: red;
}

ul,li{
  padding:0;
  margin:0;
  list-style:none;
}
.styleFlex {
  display: flex;
}

//flex.css
.flexFlex {
  display: flex;
}

使用webpack 編譯后,可以查看,相關(guān)css以及被編譯在index.html,前綴css 自動(dòng)完成。

webpack如何處理css\less\sass樣式

關(guān)于“webpack如何處理css\less\sass樣式”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI