1. 程式人生 > >學習webpack4.X(二,處理CSS)

學習webpack4.X(二,處理CSS)

Less檔案的打包和分離

安裝less的服務和less-loader

npm install --save-dev less ess-loader

webpack.config.js配置loader

{
    test: /\.less$/,
    use: [{
           loader: "style-loader" 
        }, {
            loader: "css-loader" 
        , {
            loader: "less-loader" 
        }]
}

打包

webpack --mode development
npm install --save-dev mini-css-extract-plugin

外掛使用

{
    test:/\.less$/,
    use:[
        MiniCssExtractPlugin.loader,
        "css-loader",
        "less-loader"
         ]
}

Sass檔案的打包和分離

安裝node-sass和sass-loader

npm install --save-dev node-sass sass-loader

webpack.config.js配置loader

{
    test
: /\.scss$/, use: [{ loader: "style-loader"
}, { loader: "css-loader" }, { loader: "sass-loader" }] }
{
    test:/\.scss$/,
    use:[
        MiniCssExtractPlugin.loader,
        "css-loader",
        "sass-loader"
    ]
}

自動處理CSS3屬性字首

為了瀏覽器的相容性,有時候我們必須加入-webkit,-ms,-o,-moz這些字首,

PostCSS有個自動加字首的功能。

安裝postcss-loader 和autoprefixer

npm install --save-dev postcss-loader autoprefixer

建立一個postcss.config.js檔案,與webpack.config.js同級

module.exports = {
    plugins: [
        require('autoprefixer')
    ]
}

webpack.config.js配置loader

{
    test:/\.css$/,
    use: [
        MiniCssExtractPlugin.loader,
        "css-loader",
        "postcss-loader"
    ]
}

消除未使用的CSS

安裝PurifyCSS-webpack

npm install --save-dev purifycss-webpack purify-css

在webpack.config.js中引入glob

const glob = require('glob');

在webpack.config.js中引入purifycss-webpack

const  PurifyCSSPlugin = require("purifycss-webpack");

配置webpack.config.js中的plugins

plugins:[
    new PurifyCSSPlugin({
        paths: glob.sync(path.join(__dirname, 'src/*.html')),
    })
]

相關推薦

學習webpack4.X處理CSS

Less檔案的打包和分離 安裝less的服務和less-loader npm install --save-dev less ess-loader webpack.config.js配置loader { test: /\.less$/,

學習webpack4.X安裝和配置熱更新

什麼是webpack WebPack可以看做是模組打包機:它做的事情是,分析你的專案結構,找到JavaScript模組以及其它的一些瀏覽器不能直接執行的拓展語言(Sass,TypeScript等),並將其轉換和打包為合適的格式供瀏覽器使用。在3.0出現後

脫離腳手架來配置、學習 webpack4.x 基礎搭建專案

序 現在依舊記得第一次看到webpack3.x 版本配置時候的狀態  剛開始看到這些真的是一臉懵。希望這篇文章能幫到剛開始入門的同學。   webpack 是什麼? webpack是一個模組化打包工具,webpack 通過入口分析專案結構,找到JavaScript模組以及

thinking in java (七) ----- 內部類Inner classes

深入理解內部類 為什麼成員內部類可以無條件地訪問外部類成員? 成員內部類甚至可以訪問private的外部類成員,那麼這究竟是怎麼實現的呢?下面通過位元組碼檔案來一探究竟。下面是Outer.java的程式碼: public class Outter { private I

Tushare學習文件投資參考資料

import tushare as ts 1.分配預案(每到季報、年報公佈的時段,就經常會有上市公司利潤分配預案發布,而一些高送轉高分紅的股票往往會成為市場炒作的熱點。及時獲取和統計高送轉預案的股票是參與熱點炒作的關鍵,TuShare提供了簡潔的介面,能返回股票的送轉和

機器學習之Validation驗證模型選擇

  對於機器學習的模型選擇來說,即使只是對於二元分類,我們已經學習了很多方法,比如PLA,LR等;很多學習演算法都是可迭代的,需要決定迭代次數;你可能還需要決定每一次迭代走多大,例如梯度下降;或者有很多

學習之路淺談:bash及其特性命令歷史以及用戶管理及權限shell的類型

bash 管理權限 過了一周了,進度似乎有點懈怠,不過過了周末重整旗鼓啦shell(外殼)GUI:Gnome,KDE,xfceCLI:sh,csh,ksh,bashbash(父進程)-----bash(子進程)他們相互獨立彼此不知命令歷史:historybash支持的引號:‘ ’命令替換(鍵盤~的按鍵

cocos2d-x學習之路——分析AppDelegate和HelloWorldScene檔案

這裡我們來看一下cocos自動給我們生成的工程裡有些什麼東西,並且分析一下這些程式碼的用途,來為我們以後編寫cocos程式鋪下基礎。 這裡我建議看我這份隨筆的看官先看看cocos官網的快速入門手冊,不然可能會比較迷糊(因為待會要分析一些程式碼,如果以前沒見過的話會比較昏)。傳送門在這裡 其中一些基本不需要程式

spark機器學習筆記:用Spark Python進行資料處理和特徵提取

下面用“|”字元來分隔各行資料。這將生成一個RDD,其中每一個記錄對應一個Python列表,各列表由使用者ID(user ID)、年齡(age)、性別(gender)、職業(occupation)和郵編(ZIP code)五個屬性構成。4之後再統計使用者、性別、職業和郵編的數目。這可通過如下程式碼

深入學習之mysql表的操作

uniq order fault change incr 相關 約束 設置 type 1、表:是數據庫中的存儲數據的基本單位,一個表包含若幹個字段和值 2、創建表:   CREATE TABLE 表名稱 (   字段名1  數據庫類型1  [約束條件1],   字段名2  

python學習之函數學習進階

python學習之函數進階二一、內置函數 zip函數: zip()是Python的一個內建函數,它接受一系列可叠代的對象作為參數,將對象中對應的 元素按順序組合成一個tuple,每個tuple中包含的是原有序列中對應序號位置的元素,然後返回由 這些tuples組成的list。若傳入參數的長度不等,則返回li

HDU 2549 壯誌難酬字符串處理小數點

clas 輸入數據 clu 長度 har -1 個數 得到 ring /* 給你一個小數x,讓你算出小數點後第n位是什麽,(1 <= n <= 6) Input 首先輸入一個t,表示有t組數據,跟著t行: 每行輸入一個小數(輸入數據保證一定是a.

Java學習之路流程控制語句

循環 cas 學習之路 將不 乘法表 length 跳出循環 spa int if、if…else…語句 if (true) { System.out.println("為真時執行");

小白的linux學習之旅

探索linux一、linux系統結構linux是一個倒樹結構linux中所有的東西都是文件這些文件都在系統頂級目錄“/” /就是根目錄/目錄以下為二級目錄這些目錄都是系統裝機時系統自動建立的二級目錄的作用/bin 二進制可執行文件也就是系統命令/sbin

(轉JavaWeb學習之Servlet----Servlet的生命周期、繼承結構、修改Servlet模板

ext 核心 system 網頁 基本 麻煩 extends 用戶名 servlet對象 【聲明】 歡迎轉載,但請保留文章原始出處→_→ 文章來源:http://www.cnblogs.com/smyhvae/p/4140466.html 一、http協議回顧: 在上一

python學習之路 -- 函數、JSON、終端樣式

blog ade def 數量 通過 等於 name tuple args 函數 函數構成 定義函數:使用def即可 def __getName(idCard): return user_info[idCard].Name 其中,__get

Node.js學習之旅-----MongoDB的安裝與啟動

tar 商業 blank script img blog javascrip ref es2017 安裝與啟動MongoDB Windows 用戶向導:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-

SVNKit學習——wiki+簡介

dea ssh 抽象 pan ide 控制 代理服務器 目錄 列操作  這篇文章是參考SVNKit官網在wiki的文檔,做了個人的理解~   首先拋出一個疑問,Subversion是做什麽的,SVNKit又是用來幹什麽的?   相信一般工作過的同學都用過或了解過svn,不了

Python 學習之路

在外 封裝 過程 數列 == 3.6 開頭 res form Python 學習之路(二) 以下所用的是Python 3.6 一、條件語句 簡單判斷 1 if 判斷條件: 2 執行語句…… 3 else: 4 執行語句…… 復雜判斷 1 if 判斷

Python學習記錄——Ubuntu用戶和用戶組

root用戶 -s spa 登陸 gpo 用戶名 執行權 添加 ubun 1.etc文件作用: (1) /etc/passwd 用戶賬戶信息。 (2)/etc/shadow 安全用戶賬戶信息。 (3)/etc/group 組賬戶信息。 (4)/etc/gshadow 安全組