新建的ReactNative就遇到vscode報警解除方法_第1頁
新建的ReactNative就遇到vscode報警解除方法_第2頁
新建的ReactNative就遇到vscode報警解除方法_第3頁
新建的ReactNative就遇到vscode報警解除方法_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第新建的ReactNative就遇到vscode報警解除方法目錄新建的RN項目有警告直接刪除vscode報警的部分禁掉vscode內置的TypeScript插件引入FlowLanguageSupport解除報警

新建的RN項目有警告

我相信AwesomeProject是很多人的第一個RN項目,包括我在內。

npxreact-nativeinitAwesomeProject

但是當利用RN的腳手架搭建起來后,在vscode里打開項目,直接就會遇到如下這個vscode的警告:

importtypedeclarationscanonlybeusedinTypeScriptfiles.ts(8006)

這個vscode的警告不會影響程序的編譯和運行,但是任何一個有代碼潔癖的程序員,肯定是無法忍受的。我就被它折磨過一段時間,我先后采用了兩種方式解決它。

直接刪除vscode報警的部分

在我剛接觸RN時,為了集中精力關注主要矛盾,我當時直接刪除了那些vscode報警的地方。因為那個報警就是Flow的語法,而Flow只是靜態類型檢查的一種方式,是為了補齊javascript沒有類型這塊短板的,所以即使不使用它,而僅僅保留js的語法部分,也是不會影響運行的。

//importtype{Node}from'react';

constSection=({children,title})/*:Node*/={

constApp/*:()=Node*/=()={

這樣刪除或者注釋掉這些語法之后,vscdoe的報警就解除了。

禁掉vscode內置的TypeScript插件

過了一段時間,我漸漸熟悉了ReactNative的一些東西,主要矛盾解決的差不多了,是時候回過頭來看看怎么處理它了。Flow的類型定義和Typescript還是蠻相似的,很多地方的語法都一模一樣,也難怪vscode把它識別成了TypeScript。

因為我默認生成RN項目時,并不打算使用TypeScript,而是打算全套用FB的東西:RN配Flow。所以,第一步,就是針對我的workspace,關閉vscode的Typescript檢查。

廢話不多說,直接上圖:

在vscode中disable掉內置的兩個TypeScript插件,注意要選擇僅僅是當前worksapce下disable就好。

引入FlowLanguageSupport解除報警

既然禁止了TypeSCript,那么就需要引入Flow的插件了,還是上圖:

該插件名字叫FlowLanguageSupport,也是人氣超高的插件啊。

引入插件后,你會發現,似乎這個插件并沒有工作。因為一個插件的工作,其實有時候是需要node_modules里有讓這個插件使用的命令行工具才行。插件本身,只是為了契合vscdoe的一個殼,殼子里的內容,是需要有對應的包的支持的。

yarnaddflow-binflow-parser-D

安裝這兩個包為插件賦予真正的靈魂。關閉vscode,然后重新打開。之所以這么做的目的是因為有些插件需要重新啟動vscode才行,我的習慣就是每次安裝完插件,甭管是否有重啟的提示,都會主動重啟。

很遺憾,這次又有了新的報錯:

根據提示,好像是因為插件依賴的flow版本是0.183.0,而.flowconfig中的版本是^0.182.0。這個錯誤提醒了我們,要保證當前項目中,各個地方使用的flow版本,都一致才行。知道插件用的是0.183.0,那么也要保證其余地方也是這個版本。

yarnaddflow-bin@0.183.0flow-parser@0.183.0-D

于是我們重新安裝flow-bin和flow-parser,保證他倆的版本和插件依賴的版本一致。然后再把.flowconfig里的version改了。

重啟一下vscode,再次打開后,Flow插件就工作正常了。

我在安裝Flow插件的時候的版本提示是0.183.0,但是這個版本隨著時間的推移,必

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論