本篇內容介紹了“React+TypeScript怎么構建項目”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
react項目構建可以很簡單,但是如果是結合typescript,其實也不是很麻煩,官網也有很明確的說明。有兩種辦法:
1、直接構建帶有typescript的react項目,我們需要增加額外的參數,模版不能使用默認的cra-template。而是使用cra-template-typescript。
npx create-react-app tsreactdemo --template typescript
創建完成的成功提示與原來沒有太大的區別,直接進入項目路徑下,然后yarn start或者npm start。
進入項目,我們不著急啟動,首先看看文件長得怎么樣,默認會創建一個tsconfig.json,而且src目錄下的默認的index.js,App.js文件變為了ts版本的index.tsx,App.tsx。
我們可以看看package.json中的依賴:
其實,依賴就是多了@types/jest,@types/node,@types/react,@types/react-dom 。
最早,我們創建typescript的react項目命令好像直接就是npx create-react-app xxx --typescript,可是現在這樣不行了,后面的參數必須是--template typescript,而不是直接--typescript。這個需要說明一下,并不是我們搞錯了,其實原來就是這樣使用的,現在更新換代,方法發生變化了,從這里可以看出,web前端變化太快了,一兩年時間如果不學習,可能會完全顛覆你的認知。 這里不是說--typescript就不能創建,它創建不會報錯,但是默認就是react的項目,不會包含typescript的內容。
另外,通過這種方式創建項目,官方文檔也推薦我們不要全局安裝create-react-app這個工具了,在最新的版本中,可以直接通過npx create-react-app就可以創建最新的react項目了,而如果你全局安裝了create-react-app,而且版本還不是最新的,很有可能創建的就是老版本的react項目,如果安裝了,可以直接卸載npm uninstall -g create-react-app。
2、在react項目的基礎上,直接加入typescript相關的依賴即可。
npm install typescript @types/react --save
開始創建一個默認的react項目:
命令上,我直接加上了--typescript,這就是我前面說過的,原來是通過這種方式創建,但是現在這種方式不行了,但是它也不會報錯,默認創建的就是react項目,使用的模版是cra-template。
我們直接加上typescript的依賴:
其實,就這么加,都不用增加tsconfig.json文件,就可以了,就好比我們直接增加了一個依賴,沒有對項目做大的修改。
當我們修改了index.js,App.js文件為index.tsx,App.tsx之后,npm start 或 yarn start,默認會創建一個文件tsconfig.json,這也是官方明確說明的,我們沒有必要手動創建tsconfig.json。
我們也可以看看默認生成的tsconfig.json文件的內容:
{ "compilerOptions": { "target": "es5", "lib": [ "dom", "dom.iterable", "esnext" ], "allowJs": true, "skipLibCheck": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "strict": true, "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, "jsx": "react-jsx" }, "include": [ "src" ] }
其實,手動創建也大概就是這個樣子,所以還不如直接讓它自己生成。
“React+TypeScript怎么構建項目”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。