摘要:它做的事情是,接受一些輸入,經(jīng)過(guò)加工產(chǎn)生一些輸出。這個(gè)例子只花費(fèi)分鐘時(shí)間,就能讓我們熟悉的基本用法。執(zhí)行完畢后,檢查發(fā)現(xiàn)出現(xiàn)在區(qū)域里。為此,新建一個(gè)文件,輸入下列內(nèi)容最后,我們得生成使用到的文件。字段定義了的輸入輸出則放在當(dāng)前目錄下面的里。
可以說(shuō)現(xiàn)在但凡開(kāi)發(fā)Single page application,webpack是一個(gè)不可或缺的工具。
WebPack可以看做是一個(gè)模塊加工器,如上圖所示。它做的事情是,接受一些輸入,經(jīng)過(guò)加工產(chǎn)生一些輸出。
輸入是我們web前端項(xiàng)目的模塊文件,通常情況下這些文件都不能直接被瀏覽器的JavaScript執(zhí)行引擎所執(zhí)行。
輸出是經(jīng)過(guò)webpack加工后的能被瀏覽器使用的javascript和靜態(tài)資源文件。比如ES6的js轉(zhuǎn)成ES5的js,CSS預(yù)處理器文件轉(zhuǎn)成CSS文件等等。
我們來(lái)動(dòng)手做一個(gè)具體的例子。這個(gè)例子只花費(fèi)10分鐘時(shí)間,就能讓我們熟悉webpack的基本用法。
1. 新建一個(gè)文件夾,首先用npm init命令創(chuàng)建一個(gè)package.json:
在下面使用命令行npm install --save-dev webpack,安裝webpack并保存到項(xiàng)目的package.json的devDependencies下面。
花了一分鐘才執(zhí)行完畢。
執(zhí)行完畢后,檢查package.json, 發(fā)現(xiàn)webpack出現(xiàn)在devDependencies區(qū)域里。
此時(shí)項(xiàng)目文件夾層次結(jié)構(gòu)如下圖:
2. 新建一個(gè)index.html文件,輸入以下內(nèi)容:
從源代碼看出,這個(gè)html引用了一個(gè)webpack打包之后生成的輸出文件。
既然是模塊化開(kāi)發(fā),我們就新建一個(gè)模塊,實(shí)現(xiàn)文件放在print.js里:
function print(content){ window.document.getElementById("app").innerText = "Hello," + content; } module.exports = print;
這個(gè)模塊就實(shí)現(xiàn)了一個(gè)print函數(shù),把傳入的字符串顯示在index.html的id為app的div標(biāo)簽里。
有了module后,我們還需要執(zhí)行這個(gè)module。為此,新建一個(gè)main.js文件,輸入下列內(nèi)容:
const print = require("./print.js"); print("Jerry");
最后,我們得生成index.html使用到的bundle.js文件。為此,我們要給webpack定義一個(gè)任務(wù),通過(guò)新建文件webpack.config.js完成。
entry字段定義了webpack的輸入:main.js, 輸出則放在當(dāng)前目錄dist下面的bundle.js里。
const path = require("path"); module.exports = { entry: "./main.js", output: { filename: "bundle.js", path: path.resolve(__dirname, "./dist"), }, mode: "development" // 設(shè)置mode };
至此,webpack_demo文件夾下的資料看起來(lái)是這樣的:
執(zhí)行命令行webpack:
執(zhí)行完webpack后,打開(kāi)index.html, 看到了我們期望中的Hello Jerry:
至此,一個(gè)最簡(jiǎn)單的webpack例子就跑通了。
要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙":
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/107423.html
摘要:提供了完整的環(huán)境,并且支持自定義域名指向,動(dòng)態(tài)計(jì)算資源調(diào)整,可以完成各種應(yīng)用的開(kāi)發(fā)編譯與部署。 react 新特性 react16 Context 算法相關(guān) 圖解排序算法(二)之希爾排序 微信小程序 微信小程序組件化的解決方案移動(dòng)端尺寸基本知識(shí) 瀏覽器 前端必讀:瀏覽器內(nèi)部工作原理瀏覽器緩存原理解讀瀏覽器加載css和js及dom解析之間的關(guān)系瀏覽器緩存 CSS學(xué)習(xí) 移動(dòng)web開(kāi)發(fā)布局入...
摘要:工作原因,最近一年斷斷續(xù)續(xù)寫(xiě)了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 工作原因,最近一年斷斷續(xù)續(xù)寫(xiě)了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 Github版本:Front-End Resource Collection 前端相關(guān)資源匯總 學(xué)習(xí)指導(dǎo) 精華文章 Web前端的路該怎么走?:文章超長(zhǎng),但是干貨超級(jí)多,值得反復(fù)精讀! 聽(tīng)說(shuō)2017你想寫(xiě)前端?:適合于已經(jīng)度過(guò)了小白階...
摘要:工作原因,最近一年斷斷續(xù)續(xù)寫(xiě)了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 工作原因,最近一年斷斷續(xù)續(xù)寫(xiě)了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 Github版本:Front-End Resource Collection 前端相關(guān)資源匯總 學(xué)習(xí)指導(dǎo) 精華文章 Web前端的路該怎么走?:文章超長(zhǎng),但是干貨超級(jí)多,值得反復(fù)精讀! 聽(tīng)說(shuō)2017你想寫(xiě)前端?:適合于已經(jīng)度過(guò)了小白階...
摘要:工作原因,最近一年斷斷續(xù)續(xù)寫(xiě)了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 工作原因,最近一年斷斷續(xù)續(xù)寫(xiě)了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 Github版本:Front-End Resource Collection 前端相關(guān)資源匯總 學(xué)習(xí)指導(dǎo) 精華文章 Web前端的路該怎么走?:文章超長(zhǎng),但是干貨超級(jí)多,值得反復(fù)精讀! 聽(tīng)說(shuō)2017你想寫(xiě)前端?:適合于已經(jīng)度過(guò)了小白階...
摘要:所以出現(xiàn)了各種前端構(gòu)建化工具也應(yīng)運(yùn)而生等已經(jīng)成為現(xiàn)在前端開(kāi)發(fā)工程師的必備技能之一。結(jié)語(yǔ)今天的分享就告一段落啦希望能對(duì)大家有所幫助。 在互聯(lián)網(wǎng)告訴發(fā)展的今天,自node出現(xiàn)后,我們前端也越來(lái)越大(心里美美噠~),同樣帶來(lái)的Web業(yè)務(wù)日益復(fù)雜化和多元化,模式也都想webPage模式轉(zhuǎn)向webApp模式,拼幾個(gè)頁(yè)面搞幾個(gè)jquery的插件就能搞一個(gè)完成一個(gè)項(xiàng)目的日子已經(jīng)是很久遠(yuǎn)的曾經(jīng)了,而且...
閱讀 3513·2023-04-25 15:52
閱讀 585·2021-11-19 09:40
閱讀 2598·2021-09-26 09:47
閱讀 1031·2021-09-22 15:17
閱讀 3555·2021-08-13 13:25
閱讀 2223·2019-08-30 15:56
閱讀 3468·2019-08-30 13:56
閱讀 2104·2019-08-30 11:27