使用WebStorm基于Node.js引入第三方庫(kù)的時(shí)候,有時(shí)這些第三方庫(kù)的文檔里寫了的方法,在自己寫代碼的時(shí)候沒有代碼提示(coding assistance),為了讓自己寫代碼時(shí)體驗(yàn)好點(diǎn),我們可以進(jìn)行一些設(shè)置
1.JS Libraries
例如我們?cè)谝雈s-extra這個(gè)js lib的時(shí)候,該lib明明有copy這個(gè)方法,但是IDE卻警告說無法解析這個(gè)方法,

明明有pathExists這個(gè)方法,IDE卻無法為我們提供代碼提示,沒提示也就算了,還報(bào)個(gè)波浪線讓人難受就很過分,怎么解決呢?

Ctrl+Alt+S打開Settings-->Languages&Frameworks-->JavaScript-->Libraries
然后點(diǎn)右邊的Download

剛打開的時(shí)候需要加載一會(huì)兒library列表,加載好后在Download Library窗口中我們鼠標(biāo)點(diǎn)擊一下里面的內(nèi)容以讓焦點(diǎn)在list上,然后輸入我們正在使用的,并且需要代碼提示的library name,例如我輸入了"fs-extra",找到并選中后點(diǎn)擊Download and Install

把這兩個(gè)打開的窗口關(guān)閉回到代碼編寫區(qū)域,我們會(huì)發(fā)現(xiàn),copy方法能被解析沒警告了,其他本來有的方法也有提示了,敲代碼的心情一下就好多了

2.Schema
除了原有js lib的提示外,Web Storm還有個(gè)別的code assistance問題,先看看截圖


我在使用mongoose的時(shí)候,定義并導(dǎo)出了一個(gè)model,在service層使用的時(shí)候無法解析Model的方法,并且也沒有代碼提示,這也讓敲代碼很難受,怎么做才能讓我這個(gè)Category有代碼提示呢?
回到category.js,把代碼稍微一改就可以了:
//不要直接導(dǎo)出,而是先以一個(gè)對(duì)象接收后,再導(dǎo)出
//module.exports = mongoose.model("category", schema);
let model = mongoose.model("category", schema);
module.exports = model;
更改了這一行代碼后再回到service層,model的方法能解析了,代碼提示也有了,想怎么敲就怎么敲了

參考: