使用Webpack打包的流程分析
簡單的說了一下webpack是干嘛的,和webpack如何安裝,如何進行打包,步驟很詳細,感興趣的同學(xué)可以試著操作一下。
1、webpacks是什么?
Webpack 是一個前端資源加載/打包工具。它將根據(jù)模塊的依賴關(guān)系進行靜態(tài)分析,然后將這些模塊按照指定的規(guī)則生成對應(yīng)的靜態(tài)資源。
從圖中我們可以看出,Webpack 可以將多種靜態(tài)資源 js、css、less 轉(zhuǎn)換成一個靜態(tài)文件,減少了頁面的請求。
2、Webpack安裝
安裝webpack之前需要先安裝好npm,不會的小伙伴可以這篇文章:node.js基本使用,因為node.js中自帶npm,所以安裝了node.js就可以了
額外補充一下npm
NPM全稱Node Package Manager,是Node.js包管理工具,是全球最大的模塊生態(tài)系統(tǒng),里面所有的模塊都是開源免費的;也是Node.js的包管理工具,相當(dāng)于后端的Maven 。
安裝webpack
npm install -g webpack webpack-cli #全局安裝
安裝后可以查看版本號:webpack -v
3、初始化項目
在使用webpack打包之前,我們首先要先創(chuàng)建一個項目
1、創(chuàng)建一個webpack文件夾,在該文件夾下打開終端,
執(zhí)行命令:npm init-y
2、在webpack文件夾中創(chuàng)建一個src文件夾
3、在src下創(chuàng)建:common.js文件
exports.info = function (str) { document.write(str); }
4、在src下創(chuàng)建:src下創(chuàng)建utils.js文件
exports.add = function (a, b) { return a + b; }
5、在src下創(chuàng)建:src下創(chuàng)建main.js文件
//引入外部js const common = require('./common.js'); const utils = require('./utils.js'); //調(diào)用方法 common.info('Hello world!' + utils.add(100, 200));
4、使用webpack進行JS打包
1、在webpack目錄下創(chuàng)建配置文件webpack.config.js,內(nèi)容如下
const path = require("path"); //Node.js內(nèi)置模塊 module.exports = { entry: './src/main.js', //配置入口文件 output: { path: path.resolve(__dirname, './dist'), //輸出路徑,__dirname:當(dāng)前文件所在路徑 filename: 'bundle.js' //輸出文件 } }
以上配置的意思是:讀取當(dāng)前項目目錄下src文件夾中的main.js(入口文件)內(nèi)容,分析資源依賴,把相關(guān)的js文件打包,打包后的文件放入當(dāng)前目錄的dist文件夾下,打包后的js文件名為bundle.js
2、在webpack目錄下創(chuàng)建dist目錄準(zhǔn)備
3、在webpack目錄下打開終端執(zhí)行編譯命令(執(zhí)行兩個命令任意一個即可)
webpack #有黃色警告 webpack --mode=development #沒有警告 #執(zhí)行后查看bundle.js 里面包含了上面兩個js文件的內(nèi)容并驚醒了代碼壓縮
4、在webpack目錄下創(chuàng)建index.html,內(nèi)容如下
<body> //引入bundle.js <script src="dist/bundle.js"></script> </body>
5、在瀏覽器打開該網(wǎng)頁,就能看到輸出內(nèi)容啦!
5、使用webpack進行CSS打包
1、安裝style-loader和 css-loader
Webpack 本身只能處理 JavaScript 模塊,如果要處理其他類型的文件,就需要使用 loader 進行轉(zhuǎn)換。
Loader 可以理解為是模塊和資源的轉(zhuǎn)換器。
首先我們需要安裝相關(guān)Loader插件,css-loader 是將 css 裝載到 javascript;style-loader 是讓 javascript 認識css
npm install --save-dev style-loader css-loader
2、修改webpack.config.js,內(nèi)容如下
const path = require("path"); //Node.js內(nèi)置模塊 module.exports = { entry: './src/main.js', //配置入口文件 output: { path: path.resolve(__dirname, './dist'), //輸出路徑,__dirname:當(dāng)前文件所在路徑 filename: 'bundle.js' //輸出文件 }, module: { rules: [ { test: /\.css$/, //打包規(guī)則應(yīng)用到以css結(jié)尾的文件上 use: ['style-loader', 'css-loader'] } ] } }
3、在src文件夾下創(chuàng)建style.css,內(nèi)容隨意,這里就給個網(wǎng)頁背景
body{ background:green; }
4、修改main.js
在第一行引入style.css
require('./style.css');
5、瀏覽器中查看index.html
因為引入了css文件,需要先刪除dist文件夾中的bundle.js,再重新打包該文件夾,然后再打開index.html
再打開網(wǎng)頁,就能看到j(luò)s中輸出的文字和設(shè)置的網(wǎng)頁背景了
總結(jié)
看著比較多,其實都很簡單的,并且都是一步一步來記憶的,對于新手來說是非常友好的。
到此這篇關(guān)于使用Webpack打包的操作方法的文章就介紹到這了,更多相關(guān)使用Webpack打包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS對HTML標(biāo)簽select的獲取、添加、刪除操作
HTML標(biāo)簽中的select在使用過程中很頻繁,在本文將為大家介紹下使用js是如何操作的,下面有個不錯的示例,感興趣的朋友不要錯過2013-10-10用js來刷新當(dāng)前頁面保留參數(shù)的具體實現(xiàn)
本文為大家詳細介紹下如何使用js來刷新當(dāng)前頁面保留參數(shù),下面有個不錯的實現(xiàn)大家可以看看2013-12-12javascript中onmouse事件在div中失效問題的解決方法
我們預(yù)期只有當(dāng)鼠標(biāo)從div中移開的時候才會觸發(fā)onmouseout事件,可事實上,當(dāng)我們移到div中的元素時,例如:本例中的a標(biāo)簽時,就會觸發(fā) onmousout事件2012-01-01DeviceOne 讓你一見鐘情的App快速開發(fā)平臺
DeviceOne是一個非常先進的App開發(fā)平臺,使用Javascript 構(gòu)建原生體驗的移動應(yīng)用程序,DeviceOne主要關(guān)注外觀和體驗,以及和你的應(yīng)用程序的 UI 交互2016-02-02JavaScript 上萬關(guān)鍵字瞬間匹配實現(xiàn)代碼
發(fā)一篇之前寫的文章,平時還是經(jīng)常用到的,尤其是河蟹詞特別多的聊天系統(tǒng)里2013-07-07