React+TypeScript進(jìn)行項(xiàng)目構(gòu)建案例講解_第1頁(yè)
React+TypeScript進(jìn)行項(xiàng)目構(gòu)建案例講解_第2頁(yè)
React+TypeScript進(jìn)行項(xiàng)目構(gòu)建案例講解_第3頁(yè)
React+TypeScript進(jìn)行項(xiàng)目構(gòu)建案例講解_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第React+TypeScript進(jìn)行項(xiàng)目構(gòu)建案例講解react項(xiàng)目構(gòu)建可以很簡(jiǎn)單,但是如果是結(jié)合typescript,其實(shí)也不是很麻煩,官網(wǎng)也有很明確的說明。有兩種辦法:

1、直接構(gòu)建帶有typescript的react項(xiàng)目,我們需要增加額外的參數(shù),模版不能使用默認(rèn)的cra-template。而是使用cra-template-typescript。

npxcreate-react-apptsreactdemo--templatetypescript

創(chuàng)建完成的成功提示與原來沒有太大的區(qū)別,直接進(jìn)入項(xiàng)目路徑下,然后yarnstart或者npmstart。

進(jìn)入項(xiàng)目,我們不著急啟動(dòng),首先看看文件長(zhǎng)得怎么樣,默認(rèn)會(huì)創(chuàng)建一個(gè)tsconfig.json,而且src目錄下的默認(rèn)的index.js,App.js文件變?yōu)榱藅s版本的index.tsx,App.tsx。

我們可以看看package.json中的依賴:

其實(shí),依賴就是多了@types/jest,@types/node,@types/react,@types/react-dom。

最早,我們創(chuàng)建typescript的react項(xiàng)目命令好像直接就是npxcreate-react-appxxx--typescript,可是現(xiàn)在這樣不行了,后面的參數(shù)必須是--templatetypescript,而不是直接--typescript。這個(gè)需要說明一下,并不是我們搞錯(cuò)了,其實(shí)原來就是這樣使用的,現(xiàn)在更新?lián)Q代,方法發(fā)生變化了,從這里可以看出,web前端變化太快了,一兩年時(shí)間如果不學(xué)習(xí),可能會(huì)完全顛覆你的認(rèn)知。這里不是說--typescript就不能創(chuàng)建,它創(chuàng)建不會(huì)報(bào)錯(cuò),但是默認(rèn)就是react的項(xiàng)目,不會(huì)包含typescript的內(nèi)容。

另外,通過這種方式創(chuàng)建項(xiàng)目,官方文檔也推薦我們不要全局安裝create-react-app這個(gè)工具了,在最新的版本中,可以直接通過npxcreate-react-app就可以創(chuàng)建最新的react項(xiàng)目了,而如果你全局安裝了create-react-app,而且版本還不是最新的,很有可能創(chuàng)建的就是老版本的react項(xiàng)目,如果安裝了,可以直接卸載npmuninstall-gcreate-react-app。

2、在react項(xiàng)目的基礎(chǔ)上,直接加入typescript相關(guān)的依賴即可。

npminstalltypescript@types/react--save

開始創(chuàng)建一個(gè)默認(rèn)的react項(xiàng)目:

命令上,我直接加上了--typescript,這就是我前面說過的,原來是通過這種方式創(chuàng)建,但是現(xiàn)在這種方式不行了,但是它也不會(huì)報(bào)錯(cuò),默認(rèn)創(chuàng)建的就是react項(xiàng)目,使用的模版是cra-template。

我們直接加上typescript的依賴:

其實(shí),就這么加,都不用增加tsconfig.json文件,就可以了,就好比我們直接增加了一個(gè)依賴,沒有對(duì)項(xiàng)目做大的修改。

當(dāng)我們修改了index.js,App.js文件為index.tsx,App.tsx之后,npmstart或yarnstart,默認(rèn)會(huì)創(chuàng)建一個(gè)文件tsconfig.json,這也是官方明確說明的,我們沒有必要手動(dòng)創(chuàng)建tsconfig.json。

我們也可以看看默認(rèn)生成的tsconfig.json文件的內(nèi)容:

"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,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論