摘要:它做的事情是,接受一些輸入,經過加工產生一些輸出。這個例子只花費分鐘時間,就能讓我們熟悉的基本用法。執(zhí)行完畢后,檢查發(fā)現出現在區(qū)域里。為此,新建一個文件,輸入下列內容最后,我們得生成使用到的文件。字段定義了的輸入輸出則放在當前目錄下面的里。
可以說現在但凡開發(fā)Single page application,webpack是一個不可或缺的工具。
WebPack可以看做是一個模塊加工器,如上圖所示。它做的事情是,接受一些輸入,經過加工產生一些輸出。
輸入是我們web前端項目的模塊文件,通常情況下這些文件都不能直接被瀏覽器的JavaScript執(zhí)行引擎所執(zhí)行。
輸出是經過webpack加工后的能被瀏覽器使用的javascript和靜態(tài)資源文件。比如ES6的js轉成ES5的js,CSS預處理器文件轉成CSS文件等等。
我們來動手做一個具體的例子。這個例子只花費10分鐘時間,就能讓我們熟悉webpack的基本用法。
1. 新建一個文件夾,首先用npm init命令創(chuàng)建一個package.json:
在下面使用命令行npm install --save-dev webpack,安裝webpack并保存到項目的package.json的devDependencies下面。
花了一分鐘才執(zhí)行完畢。
執(zhí)行完畢后,檢查package.json, 發(fā)現webpack出現在devDependencies區(qū)域里。
此時項目文件夾層次結構如下圖:
2. 新建一個index.html文件,輸入以下內容:
從源代碼看出,這個html引用了一個webpack打包之后生成的輸出文件。
既然是模塊化開發(fā),我們就新建一個模塊,實現文件放在print.js里:
function print(content){ window.document.getElementById("app").innerText = "Hello," + content; } module.exports = print;
這個模塊就實現了一個print函數,把傳入的字符串顯示在index.html的id為app的div標簽里。
有了module后,我們還需要執(zhí)行這個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文件夾下的資料看起來是這樣的:
執(zhí)行命令行webpack:
執(zhí)行完webpack后,打開index.html, 看到了我們期望中的Hello Jerry:
至此,一個最簡單的webpack例子就跑通了。
要獲取更多Jerry的原創(chuàng)文章,請關注公眾號"汪子熙":
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/107423.html
摘要:所以出現了各種前端構建化工具也應運而生等已經成為現在前端開發(fā)工程師的必備技能之一。結語今天的分享就告一段落啦希望能對大家有所幫助。 在互聯(lián)網告訴發(fā)展的今天,自node出現后,我們前端也越來越大(心里美美噠~),同樣帶來的Web業(yè)務日益復雜化和多元化,模式也都想webPage模式轉向webApp模式,拼幾個頁面搞幾個jquery的插件就能搞一個完成一個項目的日子已經是很久遠的曾經了,而且...
閱讀 3603·2023-04-25 15:52
閱讀 641·2021-11-19 09:40
閱讀 2821·2021-09-26 09:47
閱讀 1083·2021-09-22 15:17
閱讀 3662·2021-08-13 13:25
閱讀 2377·2019-08-30 15:56
閱讀 3548·2019-08-30 13:56
閱讀 2183·2019-08-30 11:27