webpack自動打包功能實現(xiàn)
一、了解webpack
當(dāng)前web開發(fā)面臨的困境
1.文件依賴關(guān)系錯綜復(fù)雜
2.靜態(tài)資源請求效率低
3.模塊化支持不友好
4.瀏覽器對高級javascript特性兼容程度較低
webpack是前端項目構(gòu)建工具(打包工具)
提供了有好的模塊化支持,以及代碼壓縮混淆,處理js兼容問題,性能優(yōu)化等強(qiáng)大功能
二、在項目中安裝和配置webpack
1.運(yùn)行npm install webpack webpack-cli -D命令,安裝webpack相關(guān)的包
2.在項目根目錄中,創(chuàng)建名為webpack.config.js 的webpack配置文件‘
3.在webpack的配置文件中,初始化如下配置:
module.exports = {
mode:'development' //mode用來指定構(gòu)建模式
}4.在package.json配置文件中的scripts節(jié)點下,新增dev腳本如下:
"script":{
"dev":"webpack" //script節(jié)點下的腳本,可以通過npm run執(zhí)行
}5.在終端中運(yùn)行npm run dev命令,啟動webpack進(jìn)行項目打包
三、webpack的打包
1.默認(rèn)打包的入口文件為src下的index.js,默認(rèn)打包的輸出文件為dist下的main.js
2.若要修改打包的入口和出口,可以在webpack.config.js中新增如下配置:
const path = require('path')
module.exports = {
entry: path.join(__dirname, './src/index.js'),
output: {
path: path.join(__dirname, './dist'), // 輸出文件的存放路徑
filename: 'bundle.js' // 輸出文件的名稱
}
}3.運(yùn)行npm run dev進(jìn)行打包,會發(fā)現(xiàn)在dist文件中出現(xiàn)bundle.js文件
4.將bundle.js引用到index.html中,運(yùn)行頁面。
四、webpack的自動打包
1.為什么要進(jìn)行自動打包?
若修改js中的樣式,例如jquery中的 $(‘li:odd’).css(‘backgroundColor’,‘red’)代碼,會發(fā)現(xiàn)頁面樣式并沒有發(fā)生改變,因為我們在index.html中引入的是bundle.js而不是index.js,所以每次修改代碼都得npm run dev 進(jìn)行打包,自動打包會更方便,也就是熱更新。
2.配置webpack的自動打包功能
(1)運(yùn)行npm install webpack-dev-server -D命令,安裝支持項目自動打包的工具
(2)修改package.json -> scripts 中的dev命令如下:
"scripts":{
"dev":"webpack-dev-server" //script節(jié)點下的腳本,可以通過npm run 執(zhí)行
}(3)將src -> index.html中,scripts腳本的引用路徑,修改為“/bundle.js”,該文件是虛擬的,看不見的。
(4)運(yùn)行npm run dev命令,重新進(jìn)行打包
(5)在瀏覽器中訪問http://localhost:8080地址,查看自動打包效果
若出現(xiàn) Cannot find module ‘webpack-cli/bin/config-yargs’
問題,可能是webpack與webpack-dev-server版本不兼容
到此這篇關(guān)于webpack自動打包的文章就介紹到這了,更多相關(guān)webpack自動打包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
DataTables添加額外的查詢參數(shù)和刪除columns等無用參數(shù)實例
下面小編就為大家?guī)硪黄狣ataTables添加額外的查詢參數(shù)和刪除columns等無用參數(shù)實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
JavaScript去掉數(shù)組重復(fù)項的方法分析【測試可用】
這篇文章主要介紹了JavaScript去掉數(shù)組重復(fù)項的方法,結(jié)合實例形式分析了javascript使用object特性實現(xiàn)數(shù)組去除重復(fù)項功能的相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
JS獲取隨機(jī)數(shù)函數(shù)可自定義最小值最大值
這篇文章主要介紹的是一個JS獲取隨機(jī)數(shù)的函數(shù)可自定義最小值最大值,需要的朋友可以參考下2014-05-05
JS獲取中文拼音首字母并通過拼音首字母快速查找頁面內(nèi)對應(yīng)中文內(nèi)容的方法【附demo源碼】
這篇文章主要介紹了JS獲取中文拼音首字母并通過拼音首字母快速查找頁面內(nèi)對應(yīng)中文內(nèi)容的方法,涉及javascript針對字符串的遍歷、查找、正則匹配及轉(zhuǎn)換等操作技巧,并附帶完整demo源碼供讀者下載參考,需要的朋友可以參考下2016-08-08

