欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談vue+webpack項目調(diào)試方法步驟

 更新時間:2017年09月11日 09:07:57   作者:Lienviws  
本篇文章主要介紹了淺談vue+webpack項目調(diào)試方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

題外話:這幾個月用vue寫了三個項目了,從絆手絆腳開始慢慢熟悉,嬸嬸的感到語言這東西還是得有點框框架架,太自由了容易亂搞,特別人多的時候。

從webpack開始

直接進(jìn)入正題。有人覺得vue項目難調(diào)試,是因為用了webpack。所有代碼揉在了一起,還加了很多框架代碼,根本不知道怎么下手。所以vue+webpack調(diào)試要從webpack入手。我們先從一般情況開始說。

-sourcemap

webpack配置提供了devtool這個選項,如果設(shè)置為 ‘#source-map',則可以生成.map文件,在chrome瀏覽器中調(diào)試的時候可以顯示源代碼。

devtool: '#source-map'

然而這個設(shè)置實際上沒這么簡單。webpack官方給出了7個配置項供選擇: 戳這里

devtool介紹

這里不同的配置有些不同的效果,比如是否保留注釋、保留行信息等,具體每一條什么意思這里不詳解釋,有興趣的童鞋可以參考這篇文章

官方默認(rèn)的是用 ‘#cheap-module-eval-source-map'

devtool: '#cheap-module-eval-source-map'

設(shè)置好之后,在vue項目調(diào)試的時候,代碼里面標(biāo)注debugger的時候就能看到對應(yīng)的代碼了,非常方便。

debugger

或者,直接找到對應(yīng)的文件。在chrome用 'ctrl(command) + p‘,輸入文件名,可以找到對應(yīng)的源代碼。

command+p

打斷點:

斷點

需要注意的是,這里斷點會打在下一行。同時一行代碼運行在它的下一行才算執(zhí)行。

-vue-cli

vue家的項目腳手架,推薦使用。vue-cli老家在這里

vue-cli可以幫我們自動搭建項目,首先npm全局安裝

 npm install -g vue-cli

然后創(chuàng)建一個新的項目

vue init webpack my-project

一路回車,搞定。(更多配置項請參考上面給出的vue-cli鏈接)

這里從網(wǎng)上下載了一個帶webpack的vue項目(跑之前記得npm install一下)

vue-cli webpack 

從bulid文件夾里面就大概能看出:

  • webpack.dev.conf: 開發(fā)模式用
  • webpack.prod.conf: 生產(chǎn)模式用

其中,開發(fā)模式提供了devtool為'#cheap-module-eval-source-map',生產(chǎn)模式根據(jù)config文件夾下的productionSourceMap變量控制是否使用。

若為true,則devtool為'#source-map'

其他使用方法一致。非常方便。

線上調(diào)試

平時開發(fā)的時候,我們用webpack的熱加載,可以省去掛載調(diào)試的步驟,非常方便。但是發(fā)布后部署到服務(wù)器上,就失去了這個本地優(yōu)勢。

如果使用掛載文件方式會比較麻煩。由于webpack打出來的文件有版本號這些信息,而且發(fā)布一個包看代碼量可能需要等待不等,這個方案不實際。但是如果掛載的是熱加載到端口下的文件的話,這個問題就很好辦了。

-熱加載

在此之前,先來分析一下webpack的熱加載原理。

對項目抓包可以發(fā)現(xiàn)這么一個文件:__webpack_hmr

__webpack_hmr

這是webpack熱加載的服務(wù)器推送事件,eventsource類型,功能和websocket有點類似。大致作用是建立一個不會停止的stream流鏈接,服務(wù)器發(fā)送更新數(shù)據(jù)回來append到流的末端,前端讀取最新append的數(shù)據(jù),然后動態(tài)的更新頁面上的東西。

接下來我們觀察下上文提到的更新數(shù)據(jù)有哪些。隨便更新一個文件,觸發(fā)熱加載,再抓個包,發(fā)現(xiàn)有兩個.hot-update.json和一個.hot-update.js文件

熱加載更新文件

這些具體做了些啥我不知道,這里就不深究了。應(yīng)該是根據(jù)json里面的數(shù)據(jù),達(dá)到一個準(zhǔn)確更新的效果。

所以熱更新其實就是監(jiān)聽服務(wù)器上的數(shù)據(jù),有修改的話服務(wù)器發(fā)送數(shù)據(jù)過來,前端把數(shù)據(jù)拿來后替換到頁面上這么一個過程。

-AutoResponder

接下來談?wù)劸€上掛載測試,這里推薦一款軟件:fiddler

fiddler有一個功能叫做AutoResponder,它可以將一個地址指向另一個地址。之所以用這個軟件,是因為它能匹配正則,非常方便。

AutoResponder

上一節(jié)說到,webpack熱加載用到了這幾類文件

  • __webpack_hmr
  • xxxxxxxxxxx.hot-update.json
  • xxxxxxxxxxx.hot-update.js

和.html以及其他.js文件一起,我們就可以把這幾個類型的文件掛載上去,達(dá)到一個遠(yuǎn)程熱更新的效果,設(shè)置如下:

假設(shè):

線上地址:http://192.168.9.189

本地服務(wù)器地址:http://localhost:8080/

為了照顧到接口,不能用*全匹配(上圖fiddler里最后一條灰色的)

request matches respond with
EXACT:http://192.168.9.189/index.html http://localhost:8080/
EXACT:http://192.168.9.189/__webpack_hmr http://localhost:8080/__webpack_hmr
regex:http://192.168.9.189/([^.]+).js$ http://localhost:8080/$1.js
regex:http://192.168.9.189/(.+).hot-update.json$ http://localhost:8080/$1.hot-update.json
regex:http://192.168.9.189/(.+).hot-update.js$ http://localhost:8080/$1.hot-update.js

打開debugger就能發(fā)現(xiàn)vue的devtools出來了

wap端-技巧分享

手機上調(diào)試也沒那么麻煩。和電腦一樣在同一個局域網(wǎng)下,輸入地址就能看到效果了。最近在做一個wap端的vue項目,這里談?wù)勔恍┳约河玫降囊恍┬〖记伞?/p>

  • iphone可以用safari來檢查元素;android可以用chrome遠(yuǎn)程調(diào)試
  • wifi下的http代理可以轉(zhuǎn)發(fā)手機的網(wǎng)絡(luò)請求,掛到本機上可以抓包數(shù)據(jù)

http代理

手機加載慢的時候,同樣可以使用http代理轉(zhuǎn)發(fā)到主機上,再訪問速度就比較快了

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue3 axios安裝及使用示例詳解

    vue3 axios安裝及使用示例詳解

    這篇文章主要介紹了vue3 axios安裝及使用示例代碼,本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • vite+vue3代碼風(fēng)格校驗及格式化方式

    vite+vue3代碼風(fēng)格校驗及格式化方式

    這篇文章主要介紹了vite+vue3代碼風(fēng)格校驗及格式化方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue.js?element-plus使用圖標(biāo)不顯示問題的解決方式

    Vue.js?element-plus使用圖標(biāo)不顯示問題的解決方式

    近期在學(xué)習(xí)Vue時用elementUI時發(fā)現(xiàn)圖標(biāo)在頁面上顯示不出來,所以這篇文章主要給大家介紹了關(guān)于Vue.js?element-plus使用圖標(biāo)不顯示問題的解決方式,需要的朋友可以參考下
    2022-09-09
  • 使用Vant如何實現(xiàn)數(shù)據(jù)分頁,下拉加載

    使用Vant如何實現(xiàn)數(shù)據(jù)分頁,下拉加載

    這篇文章主要介紹了使用Vant實現(xiàn)數(shù)據(jù)分頁及下拉加載方式。具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • vue?ElementUI級聯(lián)選擇器回顯問題解決

    vue?ElementUI級聯(lián)選擇器回顯問題解決

    這篇文章主要介紹了vue?ElementUI級聯(lián)選擇器回顯問題解決,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • vue3接口數(shù)據(jù)賦值對象,渲染報錯問題及解決

    vue3接口數(shù)據(jù)賦值對象,渲染報錯問題及解決

    這篇文章主要介紹了vue3接口數(shù)據(jù)賦值對象,渲染報錯問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • VUE配置proxy代理的開發(fā)測試及生產(chǎn)環(huán)境

    VUE配置proxy代理的開發(fā)測試及生產(chǎn)環(huán)境

    這篇文章主要為大家介紹了VUE配置proxy代理的開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • vite項目配置less全局樣式的實現(xiàn)步驟

    vite項目配置less全局樣式的實現(xiàn)步驟

    最近想實現(xiàn)個項目,需要配置全局less,本文主要介紹了vite項目配置less全局樣式的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • vue使用video.js進(jìn)行視頻播放功能

    vue使用video.js進(jìn)行視頻播放功能

    video.js是一個擁有h5背景的網(wǎng)絡(luò)視頻播放器,同時支持h5以及Flash視頻播放,這篇文章主要介紹了vue中使用video.js進(jìn)行視頻播放,需要的朋友可以參考下
    2019-07-07
  • vue-cil之a(chǎn)xios的二次封裝與proxy反向代理使用說明

    vue-cil之a(chǎn)xios的二次封裝與proxy反向代理使用說明

    這篇文章主要介紹了vue-cil之a(chǎn)xios的二次封裝與proxy反向代理使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04

最新評論