亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

利用types增強vscode中js代碼提示功能詳解

 更新時間:2017年07月07日 09:47:53   作者:coolcao  
這篇文章主要給大家介紹了如何增強vscode中js代碼提示功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。

使用 types 增強vscode中javascript代碼提示功能

微軟的vscode編輯器是開發(fā)typescript項目的不二首選,其本身也是采用typescript開發(fā)的。

使用過ts的同學(xué)都知道 *.d.ts 類型聲明文件,其管理工具,從最初的 tsd,到后來的 typings,一直到現(xiàn)在的@types,類型聲明文件為ts的智能提示,類型檢查提供了有力支持。

我們也可以使用類型聲明文件,增強vscode編輯javascript時的智能提示。

關(guān)于vscode這方面更深的說明,請訪問以下鏈接:

      1、https://code.visualstudio.com/docs/languages/javascript

      2、https://github.com/Microsoft/TypeScript/wiki/JavaScript-Language-Service-in-Visual-Studio

      3、https://code.visualstudio.com/docs/editor/intellisense

安裝 types 文件

現(xiàn)在,我們可以不依賴typings直接使用npm安裝所需要的types類型文件。

比如,我們要安裝sequelize的類型文件,可以直接使用:

npm install @types/sequelize --save-dev

安裝完成后,我們在 node_modules目錄下發(fā)現(xiàn)有一個@types目錄,該目錄里就是所安裝的所有的類型聲明文件。

如果有的第三方npm包官方未提供類型聲明文件時,可能會安裝出錯,找不到相應(yīng)的包。這時,就沒法利用其增強js代碼的提示功能。

如果你熟悉使用ts如何編寫*.d.ts文件,也可以自己寫一個。

配置 jsconfig.json 文件

對于jsconfig.json文件的詳細說明,請參照這里。

在jsconfig.json文件中添加:

"include": [
 "model/**",
 "service/**"
],
"typeAcquisition": {
 "include": [
  "sequelize"
 ]
}

其中typeAcquisition參數(shù)是必配的,標(biāo)識啟用類型感知功能,里面的include標(biāo)識對哪個包啟用。

上面的include不是必須的,只是用來標(biāo)識jsconfig.json文件對哪些文件起作用。

開啟后,如圖:


我們上圖中例子提示的就是sequelize包中Model類的實例方法和屬性。

vscode對智能感知的圖標(biāo),也給了一定的匯總:

在js文件中啟用語義檢查

如果要在js中啟用類型檢查,可以在文件最上面添加 // @ts-check 注釋。

// @ts-check
let easy = 'abc'
easy = 123 // Error: Type '123' is not assignable to type 'string'

或者在 jsconfig.json中進行配置:

{
  "compilerOptions": {
    "checkJs": true
  },
  "exclude": [
    "node_modules"
  ]
}

詳情請參閱文檔

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • js的延遲執(zhí)行問題分析

    js的延遲執(zhí)行問題分析

    使用JavaScript可以實現(xiàn)代碼的延時執(zhí)行,也就是說當(dāng)一個函數(shù)被調(diào)用時不立即執(zhí)行某些代碼,而是等一段指定的時間后再執(zhí)行,這就叫做計時事件。
    2014-06-06
  • ES6?關(guān)鍵字?let?和?ES5?及關(guān)鍵字?var?的區(qū)別解析

    ES6?關(guān)鍵字?let?和?ES5?及關(guān)鍵字?var?的區(qū)別解析

    var可以穿透控制語句、條件語句這樣的作用域,導(dǎo)致變量沖突經(jīng)常發(fā)生,這篇文章主要介紹了ES6?關(guān)鍵字?let?和?ES5?及關(guān)鍵字?var?的區(qū)別,需要的朋友可以參考下
    2022-09-09
  • JavaScript模塊化原理深入分析

    JavaScript模塊化原理深入分析

    JavaScript中的模塊化是指將每個js文件會被認為單獨一個的模塊。模塊之間是互相不可見的。如果一個模塊需要使用另一個模塊,那么需要通過指定語法來引入要使用的模塊,而且只能使用引入模塊所暴露的內(nèi)容
    2022-11-11
  • JS數(shù)組去重常用方法實例小結(jié)【4種方法】

    JS數(shù)組去重常用方法實例小結(jié)【4種方法】

    這篇文章主要介紹了JS數(shù)組去重常用方法,結(jié)合實例形式總結(jié)分析了4種常用的數(shù)據(jù)去重實現(xiàn)方法,涉及javascript數(shù)組的遍歷、判斷、追加等相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • JS堆棧內(nèi)存的運行機制詳解

    JS堆棧內(nèi)存的運行機制詳解

    棧內(nèi)存主要用于存儲各種基本類型的變量,包括Boolean、Number、String、Undefined、Null,以及對象變量的指針(地址值),這篇文章主要介紹了JS堆棧內(nèi)存的運行機制,需要的朋友可以參考下
    2022-06-06
  • JS中精巧的自動柯里化實現(xiàn)方法

    JS中精巧的自動柯里化實現(xiàn)方法

    給大家詳細分析了JS中精巧的自動柯里化實現(xiàn)方法并通過代碼實例分析了過程和原理,參考學(xué)習(xí)下吧。
    2017-12-12
  • 高效的獲取當(dāng)前元素是父元素的第幾個子元素

    高效的獲取當(dāng)前元素是父元素的第幾個子元素

    例如處理事件的時候,有時候需要知道當(dāng)前點擊的是第幾個子節(jié)點,而HTML DOM本身并沒有直接提供相應(yīng)的屬性,需要自己來計算。感興趣的朋友可以了解下本文
    2013-10-10
  • JavaScript實現(xiàn)下拉列表

    JavaScript實現(xiàn)下拉列表

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)下拉列表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • JavaScript腳本性能優(yōu)化注意事項

    JavaScript腳本性能優(yōu)化注意事項

    本文總結(jié)了我在JavaScript編程中所找到的提高JavaScript運行性能的一些方法,其實這些經(jīng)驗都基于幾條原則
    2008-11-11
  • 深入理解JS中的Promise.race控制并發(fā)量

    深入理解JS中的Promise.race控制并發(fā)量

    這篇文章主要為大家介紹了JS中的Promise.race控制并發(fā)量的深入理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04

最新評論