Webpack 10分鐘入門
可以說現在但凡開發Single page application,webpack是一個不可或缺的工具。
WebPack可以看做是一個 模組加工器,如上圖所示 。它做的事情是,接受一些輸入,經過加工產生一些輸出。
輸入是我們web前端專案的模組檔案,通常情況下這些檔案都不能直接被瀏覽器的JavaScript執行引擎所執行。
輸出是經過webpack加工後的能被瀏覽器使用的javascript和靜態資原始檔。比如ES6的js轉成ES5的js,CSS前處理器檔案轉成CSS檔案等等。
我們來動手做一個具體的例子。這個例子只花費10分鐘時間,就能讓我們熟悉webpack的基本用法。
1. 新建一個資料夾,首先用npm init命令建立一個package.json:
在下面使用命令列npm install --save-dev webpack,安裝webpack並儲存到專案的package.json的devDependencies下面。
花了一分鐘才執行完畢。
執行完畢後,檢查package.json, 發現webpack出現在devDependencies區域裡。
此時專案資料夾層次結構如下圖:
2. 新建一個index.html檔案,輸入以下內容:
<html><div id="app"></div><script src="./dist/bundle.js"></script></html>
從原始碼看出,這個html引用了一個webpack打包之後生成的輸出檔案。
既然是模組化開發,我們就新建一個模組,實現檔案放在print.js裡:
function print(content){ window.document.getElementById("app").innerText = "Hello," + content; }module.exports = print;
這個模組就實現了一個print函式,把傳入的字串顯示在index.html的id為app的div標籤裡。
有了module後,我們還需要執行這個module。為此,新建一個main.js檔案,輸入下列內容:
const print = require("./print.js"); print("Jerry");
最後,我們得生成index.html使用到的bundle.js檔案。為此,我們要給webpack定義一個任務,透過新建檔案webpack.config.js完成。
entry欄位定義了webpack的輸入:main.js, 輸出則放在當前目錄dist下面的bundle.js裡。
const path = require("path");module.exports = {entry: "./main.js",output: {filename: "bundle.js",path: path.resolve(__dirname, "./dist"), },mode: 'development' // 設定mode};
至此,webpack_demo資料夾下的資料看起來是這樣的:
執行命令列webpack:
執行完webpack後,開啟index.html, 看到了我們期望中的Hello Jerry:
至此,一個最簡單的webpack例子就跑通了。
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙"
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2217001/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript 10分鐘入門JavaScript
- 10分鐘快速入門RedisRedis
- 10分鐘熟練使用webpackWeb
- 10分鐘快速入門rollup.jsJS
- 10 分鐘快速入門:HTTP快取HTTP快取
- emacs最簡單入門,只要10分鐘Mac
- 30分鐘入門MyBatisMyBatis
- 5分鐘入門AWK
- 10分鐘go crawler colly從入門到精通Go
- 10分鐘入門Shell指令碼程式設計指令碼程式設計
- UML類圖10分鐘快速入門 - From 聖傑
- Go 語言基礎教程:10分鐘入門Go
- 一分鐘sed入門(一分鐘系列)
- 【譯】30 分鐘入門 TypescriptTypeScript
- 20分鐘gulp快速入門
- 十分鐘入門 Less
- 十分鐘入門RocketMQMQ
- 30 分鐘 Qunit 入門教程
- Emacs Lisp 15 分鐘入門MacLisp
- Maven 5 分鐘入門教程Maven
- 五分鐘入門雙拼!
- 10分鐘極速入門dash應用開發
- 3分鐘入門lambda表示式
- 三分鐘爬蟲入門爬蟲
- 五分鐘入門 Dingo APIGoAPI
- 30 分鐘快速入門 Docker 教程Docker
- 三十分鐘 Docker 新手入門Docker
- Cython三分鐘入門
- 30 分鐘 Java Lambda 入門教程Java
- Awk 20 分鐘入門介紹
- iOS開發60分鐘入門iOS
- Python十分鐘入門Python
- [入門到吐槽系列] Webix 10分鐘入門 一 管理後臺製作Web
- [入門到吐槽系列] Webix 10分鐘入門 二 表單Form的使用WebORM
- 5分鐘入門git模式開發Git模式
- 爬蟲程式十分鐘入門爬蟲
- tendermint區塊鏈五分鐘入門區塊鏈
- 十分鐘快速入門 PythonPython