webpack4.x教程

一.webpack

? ? 什么是webpack

? ? ? ?????webpack可以看做是模塊打包機(jī):它做的事情是,分析你的項(xiàng)目結(jié)構(gòu),找到JavaScript模塊以及其它的一些瀏覽器不能直接運(yùn)行的拓展語(yǔ)言(Scss,TypeScript等),并將其打包為合適的格式以供瀏覽器使用

????為什么用webpack

????????????a:模塊化,讓我們可以把復(fù)雜的程序細(xì)化為小的文件;

????????????b:類似于TypeScript這種在JavaScript基礎(chǔ)上拓展的開發(fā)語(yǔ)言:使我們能夠?qū)崿F(xiàn)目前版本的JavaScript不能直接使用的特性,并且之后還能能裝換為JavaScript文件使瀏覽器可以識(shí)別;

????????????c:scss,less等CSS預(yù)處理器

????????????這些改進(jìn)確實(shí)大大的提高了我們的開發(fā)效率,但是利用它們開發(fā)的文件往往需要進(jìn)行額外的處理才能讓瀏覽器識(shí)別,而手動(dòng)處理又是非常繁瑣的,這就為Webpack類的工具的出現(xiàn)提供了需求。

二.webpack安裝

? ? ? ? 1.安裝webpack

? ? ? ? ? ? ? ? 安裝Node.js(Node.js 中文網(wǎng))

? ? ? ? ? ? ? ? 全局安裝webpack,webpack-cli,webpack-dev-server

? ? ? ? ? ? ? ? ? ? ? ? npm/cnpm install webpack webpack-cli webpack-dev-server -g


安裝webpack webpack-cli webpack-dev-server

? ? ? ? ? ? ? ? 安裝完成


安裝成功

? ? ? ? ? 2.配置

? ? ? ? ? ? ? ? ? ?創(chuàng)建一個(gè)項(xiàng)目(webpack),項(xiàng)目中建立三個(gè)文件夾dist,src,config,并在dist文件中添加入口文件index.js,src文件中添加index.html

? ? ? ? ? ? ? ? ? ? ? ? dist:存放我們生產(chǎn)文件的地方

? ? ? ? ? ? ? ? ? ? ? ? src:我們的源文件夾

? ? ? ? ? ? ? ? ? ? ? ? config:配置文件文件夾

? ? ? ? ? ? ? ? ? ? Init一個(gè)package.json文件npm init -y


安裝package.json

? ? ? ? ? ? ? ? ? ? ? ? 配置完成目錄如圖


項(xiàng)目目錄

? ? ? ? ? ? ? ? ? ? 3.打包

? ? ? ? ? ? ? ? ? ? ? ? ????????webpack --mode==devlopment

? ? ? ? ? ? ? ? ? ? ? ????? ????????--mode==devlopment是指環(huán)境為開發(fā)環(huán)境

? ? ? ? ? ? ? ? ? ? ? ? ????????????--mode==production

? ? ? ? ? ? ? ? ? ? ? ?????????????會(huì)生成一個(gè)node_modules文件如圖


打包

三:webpack配置插件

? ? ? ? ? ? 1.在config文件中新建webpack.dev.js文件

? ? ? ? ? ? ?2.配置webpack.dev.js文件

? ? ? ? ? ? ? ? ? ? 如圖:


webpack.dev.js配置

entry里的./src/main.js作為入口文件,需手動(dòng)創(chuàng)建

在main.js中操作index.html彈出webapck字段

同時(shí)本地安裝webpack webpack-cli以及webpack-dev-server如下兩圖

打包運(yùn)行
安裝本地webpack webpack-cli webpack-dev-server

運(yùn)行:webpack-dev-server --config=config/webpack.dev.js

運(yùn)行成功,同時(shí)表示熱更新中...

? ? ? ? ? ? 此時(shí)打開本地服務(wù)器配置的默認(rèn)端口8080,會(huì)出現(xiàn)如下圖所示效果,點(diǎn)擊dist文件會(huì)出現(xiàn)效果:

效果圖1


效果圖2



此時(shí)會(huì)發(fā)現(xiàn),服務(wù)器路徑不是我們所想的訪問(wèn)8080即可彈出webpack字段

原因是因?yàn)闆]有配置本地服務(wù)器,沒有配置默認(rèn)路徑

? ? 下面來(lái)配置 本地服務(wù)器


配置本地服務(wù)器

配置過(guò)后重新打開,直接訪問(wèn)8080即可出現(xiàn)下圖效果

最終效果圖


4.加載css以及配置package.json文件

????????????1.在src文件夾想下新建一個(gè)main.css,在css中設(shè)置body的背景色為pink,并在main.js中引入

? ? ? ? ? ? 2.安裝style-loader與css-loader? ?cnpm install css-loader style-loader

????????????????css-loader:解析css,遇到import的時(shí)候會(huì)引入相應(yīng)的文件,計(jì)算成css

????????????????style-loader:將計(jì)算的css放在style標(biāo)簽并放在head標(biāo)簽里

? ? ? ? ? ? 3.配置loader


css-loader與style-loader配置

????????????4.重新打包刷新;


效果圖






五:配置package.json

????????當(dāng)我們使用vue腳手架搭建項(xiàng)目時(shí),當(dāng)我們出現(xiàn)語(yǔ)法錯(cuò)誤時(shí),控制臺(tái)以及瀏覽器會(huì)報(bào)錯(cuò)是為什么呢?


報(bào)錯(cuò)信息

????????????原因是因?yàn)閣ebpack帶有控制臺(tái)默認(rèn)報(bào)錯(cuò)提示信息功能,若想在瀏覽器同時(shí)顯示報(bào)錯(cuò)信息需配置overlay

? ? ? ? ?1.配置overlay

? ? ? ? ? ? ? ? 在webpack.dev.js中的devServer中配置overlay


配置overlay


????????配置成功后,如有錯(cuò)誤,控制臺(tái)報(bào)錯(cuò)同時(shí)瀏覽器端也會(huì)報(bào)錯(cuò)


報(bào)錯(cuò)展示


? ? ? ? ? ?2.配置啟動(dòng)命令與打包命令

? ? ? ? ? ? ? ? ? ? 啟動(dòng)命令? webpack-dev-server --config=config/webpack.dev.js

? ? ? ? ? ? ? ? ? ? 打包命令? webpack --config=config-config/webpack.dev.js

? ? ? ? ? ? ? ? ? ? 我們會(huì)發(fā)現(xiàn),webpack自帶的啟動(dòng)與打包命令郭偉繁瑣,如果簡(jiǎn)單化

? ? ? ? ? ? ? ? ????我們需要配置package.json文件。在package.json文件中我們發(fā)現(xiàn)有script這個(gè)配置項(xiàng)如圖


script默認(rèn)配置項(xiàng)

? ? ? ? ? ? ? ? ????我們刪除test配置項(xiàng)并配置如圖所示啟動(dòng)與打包命令


配置打包命令與運(yùn)行命令

????????????????????????執(zhí)行命令后發(fā)現(xiàn):


運(yùn)行啟動(dòng)打包命令

????????后續(xù)更新,敬請(qǐng)期待...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。 webpack介紹和使用 一、webpack介紹 1、由來(lái) ...
    it筱竹閱讀 11,458評(píng)論 0 21
  • 1. 新建一個(gè)文件夾,命名為 webpack-cli , webpack-cli 就是你的項(xiàng)目名,項(xiàng)目名建議使用小...
    魯大師666閱讀 1,650評(píng)論 1 3
  • 前言 本文主要從webpack4.x入手,會(huì)對(duì)平時(shí)常用的Webpack配置一一講解,各個(gè)功能點(diǎn)都有對(duì)應(yīng)的詳細(xì)例子,...
    BetterChen閱讀 2,036評(píng)論 0 3
  • GitChat技術(shù)雜談 前言 本文較長(zhǎng),為了節(jié)省你的閱讀時(shí)間,在文前列寫作思路如下: 什么是 webpack,它要...
    蕭玄辭閱讀 12,891評(píng)論 7 110
  • 親愛的小寶,今天媽媽一回家你就拿了《我上小班了》這本書給媽媽,要媽媽陪你一起看書,媽媽發(fā)現(xiàn)你進(jìn)步不小哦,之...
    周小末_0700閱讀 132評(píng)論 0 3

友情鏈接更多精彩內(nèi)容