在vue項目接近尾聲的時候,一般打包上傳代碼之前都需要將所有的警告消除掉著瓶,不然是上傳不上去的半抱。
這些警告絕大多數(shù)是因為設(shè)置了eslintrc.js來用于校驗文件書寫規(guī)范報的錯获高,這一類的錯誤可以直接運行cnpm run lint -- --fix 指令來進行自動的代碼修正,修正完之后躬拢,如果還有一些警告消除不掉躲履,這樣的就需要手動的根據(jù)警告提示的信息找到相應(yīng)的文件進行修改了。
這次我的項目中最后遺留了一個警告估灿,是關(guān)于引入jQuery的$符號的崇呵,一開始的報錯是:
$ is not defined,即$沒有定義,代碼中原來在main.js的引入寫法是:
奇怪的是這樣寫馅袁,雖然都報了警告說是$沒有定義域慷,但是實際上并沒有影響我在代碼中使用,$還是可以發(fā)揮功效的。這也是之前一直沒管的原因∮贪現(xiàn)在這樣報錯抵窒,猜想應(yīng)該是后面的路徑不太對,于是將其改成了我在node-modules中安裝jQuery的路徑叠骑,具體如下:
這樣改了之后李皇,雖然之前的錯不報了,但是新的錯報出來了宙枷,變成了掉房,$ is defined but never used,這又是啥意思慰丛?百思不得解卓囚,于是一番尋尋覓覓,終于找到了這篇博客
webpack構(gòu)建Vue項目引入jQ時發(fā)生“'$' is defined but never used”的處理 - 慕柳先生 - 博客園
按照這篇博客里的處理方法诅病,我將build/webpack.base.conf.js里第51行屏蔽哪亿,具體如下:
這樣屏蔽之后,重新使用cnpm run dev 運行代碼贤笆,之前的警告果然消失了蝇棉。
但是為什么屏蔽這一句之后就可以了,目前還不是很明白芥永,后續(xù)有空繼續(xù)了解下篡殷。