Typesctript和React的二三事

折磨了我近一個星期的問題終於找到了答案,一開始我只是想一個項目的mapbox地圖放到另一個項目的storybook上用,但是首先迎面而來的問題就是:我明明按另一個文件安裝了相同的包,另一邊卻報錯,明明聲明文件我也複製了,可還是說:Namespace '"mapbox-gl" has no exported member 'Map''……我看了下原項目,這個Map居然是引用C:\Users\用戶\AppData\Local\Microsoft\TypeScript\3.3\node_modules\@types\mapbox-gl\index.d.ts,一般不是都來源於項目文件下的node_modules麼?那我就把@types\mapbox-gl也安裝了好了。安裝完了之後雖然是能運行了,但是請求的地址總是有問題,地圖一片灰色,比例尺這控件卻正常顯示……

後來問了同事才知道,這個mapbox是改造過的,必需通過我們阿里雲服務上那版本纔可以正常使用……但是我明明改了nrm走阿里雲,並且重裝安完了,然後又回到了第一個問題:Namespace '"mapbox-gl" has no exported member 'Map''……

這問題我一直以爲是包安裝的不對,直到我用第三個項目把做兩邊演化成同樣的包卻還報出這問題後才知道,這問題應該是其他文件,最後一個個對比發現Typescript的配置文件tsconfig.json纔是罪魁禍首,因爲一個項目少了"skipLibCheck": true的配置,導致了storybook總報錯……

最後重來一遍的時候確認了,nrm+package.json也不能保證我用的是自己的包,還得去改package-lock.json才能確定。

P.S.公司網絡還老作對,經常npm install失敗,還得用手機熱點重裝包,真心浪費時間。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章