- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > web開(kāi)發(fā) > JavaScript >
- webpack-dev-server搭建本地服務(wù)器的實(shí)現
當我們使用webpack打包時(shí),發(fā)現每次更新了一點(diǎn)代碼,都需要重新打包,這樣很麻煩,我們希望本地能搭建一個(gè)服務(wù)器,然后寫(xiě)入新的代碼能夠自動(dòng)檢測出來(lái),這時(shí)候就需要用到webpack-dev-server
webpack提供了一個(gè)可選的本地開(kāi)發(fā)服務(wù)器,這個(gè)本地服務(wù)器基于node.js搭建,內部使用express框架,可以實(shí)現我們想要的瀏覽器自動(dòng)刷新顯示我們修改后的結果
由于它是個(gè)單獨的模塊,使用之前,我們需要先安裝,命令如下:
npm install -D webpack-dev-server
安裝完成之后,我們也是需要在webpack中進(jìn)行配置,配置的對象是devServer ,它也有很多的屬性,常用的幾個(gè)屬性如下:
webpack.config.js配置如下:
module.exports = { devServer: { contentBase: "./dist", inline: true, }, }
接下來(lái)我們再在package.json文件中添加一條script命令:
"scripts": { "dev": "webpack serve" },
dev代表開(kāi)發(fā)環(huán)境,以上我們的配置就算完成了
然后我們啟動(dòng)命令npm run dev,程序出現以下報錯:
Error: Cannot find module 'webpack-cli/bin/config-yargs'
原因是webpack-cli的版本問(wèn)題,我們先來(lái)看以下我們的版本
"webpack": "^5.44.0", "webpack-cli": "^4.7.2", "webpack-dev-server": "^3.11.2"
降低webpack-cli的版本,從4降到3
1.卸載webpack-cli
npm uninstall webpack-cli
2.安裝
npm install webpack-cli@3 -D
然后啟動(dòng)就不會(huì )報錯了,但是這只是臨時(shí)的解決方案,我們推薦第二種解決方式
更改scripts中的配置,將原來(lái)的webpack-dev-serve改為webpack serve即可
"scripts": { "dev": "webpack serve --open --mode development" },
最后我們在終端輸入npm run dev就可正常啟動(dòng),并且會(huì )自動(dòng)打開(kāi)網(wǎng)頁(yè),因為我們加了參數--open,如果想手動(dòng)打開(kāi),則取出--open即可
如果你通過(guò)vue+webpack已經(jīng)啟動(dòng)了一個(gè)項目,但是你又執行了一遍npm run dev,此時(shí)就會(huì )報以下錯誤
Error: listen EADDRINUSE: address already in use 127.0.0.1:8080
原因是我們上次啟動(dòng)的默認端口是8080,這次你又項啟動(dòng)一個(gè)項目端口依然是8080,但是8080端口已經(jīng)被占用了,解決辦法我們只需要將8080端口對應的PID進(jìn)程號殺死即可
首先查找8080端口對應的進(jìn)程ID
lsof -i:8080
找到對應的PID后使用kill命令殺死即可
kill -9 PID進(jìn)程號
到此這篇關(guān)于webpack-dev-server搭建本地服務(wù)器 的文章就介紹到這了,更多相關(guān)webpack-dev-server搭建本地服務(wù)器 內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站