webpack的入門實踐
我會將所有的讀者概括為初學者,即使你可能有基礎,學習本節之前我希望你具有一定的JavaScript和node基礎
- 文中的
... ...代表省略掉部分代碼,和上面的代碼相同 - 文中的檔案夾如果沒有說創建,并且專案默認沒有的是需要你手動增加的
- 不會特別細致,但是足夠入門
資源
- 視頻教程
- 我的個人博客
什么是webpack
Web瀏覽器使用HTML,CSS和JavaScript,隨著專案的發展,跟蹤和配置所有這些檔案變得非常復雜,解決這個問題就需要一個新的工具
類似webpack的工具還有Grunt和Gulp,webpack是模塊管理工具,把你的專案按照你的想法進行劃分模塊打包,舉個最簡單的例子,這個頁面需要加載一個 a.js和b.js,但是你只想加載一個js檔案,就可以使用webpack將兩個檔案進行合并,當然webpack的功能不止于此,代碼轉化、專案優化、代碼分割、代碼預編譯、自動構建、自動重繪...
再比如你想你的代碼兼容其他老的瀏覽器,你的css代碼兼容不同的瀏覽器內核,或者你想自動精簡掉你寫了但是沒有用到的代碼,這些都可以使用webpack實作
如果你是vue或者react等框架的使用者,肯定使用過 vue-cli 或 react-create-app 這類腳手架工具,那么實作這個效果,就要學習webpack
快速入門
注意本文都是webpack4的內容
安裝
創建一個 webpackdemo檔案夾,使用命令npm init -y快速初始化一個專案
安裝 webpack可以使用全域安裝
npm install webpack -g
但是我更推薦你在每個專案里面單獨引入,這樣可以控制版本,如果你使用 webpack 4+ 版本,你還需要安裝 CLI,
npm install -D webpack@<version>
npm install -D webpack-cli
本文默認使用專案引入的方式,我們在根目錄下新建 src/index.js,webpack在不進行任何配置的情況下,會默認尋找這個檔案
然后命令列執行node_modules\.bin\webpack,如果你是全域安裝的可以直接使用webpack命令
注意此時命令列爆黃色警告,這是沒有指定當前模式的原因,并且可以發現,目錄下多了一個 dist/main.js檔案,這便是默認的輸出檔案
為了體驗專案的打包,我們新建一個src/clg.js檔案
export default function clg(msg) {
console.log(msg);
}
我們在index.js里面匯入并使用
import clg from './clg';
clg('webpack init');
然后根目錄我們新建一個 index.html檔案,引入打包后的檔案
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src=https://www.cnblogs.com/lookroot/p/"./dist/main.js"></script>
<body>
