成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

React應(yīng)用程序配置TypeScript

開(kāi)發(fā) 后端
最近在學(xué)習(xí)TypeScript的一些知識(shí)用到了 react,記錄一下 react 創(chuàng)建應(yīng)用項(xiàng)目和支持 TypeScript。

[[346311]]

 前言
最近在學(xué)習(xí)TypeScript的一些知識(shí)用到了 react,記錄一下 react 創(chuàng)建應(yīng)用項(xiàng)目和支持 TypeScript。

React 是一個(gè)用于構(gòu)建用戶界面 UI 的 JavaScript 庫(kù),它的創(chuàng)建默認(rèn)是不支持 TypeScript 的,本文使用的是 React16.13.1

在使用 react 的庫(kù)的時(shí)候我們需要安裝下面的幾個(gè)組件:

  1. node(npm,npx) 
  2. create-react-app 
  3. react-script-ts 
  4. typescript 

閱讀本文將學(xué)到:

  • 快速創(chuàng)建 React 應(yīng)用
  • tsconfig 的基本配置
  • 使用 React 中的 tsx 組件
  • tsx 中圖片編譯失敗

創(chuàng)建項(xiàng)目
這里默認(rèn)我們擁有 node 環(huán)境,使用 npx 快速安裝 React 的應(yīng)用程序

  1. npx create-react-app react-demo --script-version=react-script-ts 

在網(wǎng)絡(luò)條件不錯(cuò)的情況下,速度還是可觀的吧

  1. npx: 97 安裝成功,用時(shí) 22.955 秒 
  2.  
  3. We suggest that you begin by typing: 
  4.  
  5.   cd react-demo 
  6.   yarn start 
  7.  
  8. Happy hacking! 

創(chuàng)建好程序之后,我們記錄一下此時(shí)的目錄:

tsconfig 的基本配置
首先需要安裝TypeScript:

  1. npm i typescript -D 
  2. tsc --init 

生成我們需要的tsconfig.json文件之后,我們根據(jù)自己的需求去修改即可:

  1.   "compilerOptions": { 
  2.     "target""ES2016"
  3.     "module""ESNext"
  4.     "lib": [ 
  5.       "ES6"
  6.       "DOM" 
  7.     ], 
  8.     "allowJs"true
  9.     "jsx""react"
  10.     "sourceMap"true
  11.     "outDir""build/dist"
  12.     "rootDir""src"
  13.     "importHelpers"true
  14.     "strict"true
  15.     "noImplicitAny"true
  16.     "strictNullChecks"true
  17.     "noImplicitThis"true
  18.     "noUnusedLocals"true
  19.     "noImplicitReturns"true
  20.     "moduleResolution""node"
  21.     "baseUrl""."
  22.     "esModuleInterop"true
  23.     "skipLibCheck"true
  24.     "forceConsistentCasingInFileNames"true
  25.     "suppressImplicitAnyIndexErrors"true
  26.     "allowSyntheticDefaultImports"true
  27.     "resolveJsonModule"true
  28.     "isolatedModules"true
  29.     "noEmit"true 
  30.   }, 
  31.   "exclude": [ 
  32.     "node_modules"
  33.     "build"
  34.     "scripts"
  35.     "acceptance-tests"
  36.     "webpack"
  37.     "jest"
  38.     "src/setupTests.ts" 
  39.   ], 
  40.   "include": [ 
  41.     "src" 
  42.   ] 

使用 React 中的 tsx 組件
tsx 是相當(dāng)于 jsx 的 TypeScript 版本,在目錄中我們將.js 后綴結(jié)尾的改成.tsx 結(jié)尾

  1. import React from 'react'
  2. import ReactDOM from 'react-dom'
  3. import App from './App'
  4. import * as serviceWorker from './serviceWorker'
  5.  
  6. ReactDOM.render( 
  7.   <React.StrictMode>  //嚴(yán)格模式 
  8.     <App /> 
  9.   </React.StrictMode>, 
  10.   document.getElementById('root'as HTMLElement 
  11. ); 
  12.  
  13. serviceWorker.unregister(); 

tsx 中圖片編譯失敗
在修改完文件名字后發(fā)現(xiàn)圖片編譯失敗

在使用 Webpack,使用靜態(tài)資源,如圖片和字體,工作方式類似于 CSS。可以直接在 TypeScript 模塊中導(dǎo)入文件。這告訴 Webpack 將該文件包含在 bundle 中。與 CSS 導(dǎo)入不同,導(dǎo)入一個(gè)文件會(huì)給你一個(gè)字符串值。這個(gè)值是您可以在代碼中引用的最終路徑,例如,作為圖像的 src 屬性或指向 PDF 的鏈接的 href。

為了減少對(duì)服務(wù)器的請(qǐng)求數(shù)量,導(dǎo)入少于 10,000 字節(jié)的映像將返回一個(gè)數(shù)據(jù) URI 而不是路徑。這適用于以下文件擴(kuò)展名: bmp、 gif、 jpg、 jpeg 和 png。SVG 文件被排除。

在開(kāi)始之前,必須將每種類型定義為有效的模塊格式。否則,TypeScript 編譯報(bào)錯(cuò)

要在 TypeScript 中導(dǎo)入這些文件,請(qǐng)?jiān)陧?xiàng)目中創(chuàng)建一個(gè)新的類型定義文件,并將其命名為 assets.d.ts。然后,為需要導(dǎo)入的每種類型的資產(chǎn)添加一行:

  1. declare module '*.svg' 
  2. declare module '*.png' 
  3. declare module '*.jpg' 
  4. declare module '*.jpeg' 
  5. declare module '*.gif' 
  6. declare module '*.bmp' 
  7. declare module '*.tiff' 

配置之后需要npm start重新啟動(dòng)項(xiàng)目才能生效。

 

責(zé)任編輯:姜華 來(lái)源: 小丑的小屋
相關(guān)推薦

2021-09-26 08:30:31

Python應(yīng)用程序代碼

2009-07-29 17:01:13

2016-07-29 13:47:05

RethinkDBWeb

2021-07-14 17:39:46

ReactRails API前端組件

2009-09-14 09:17:43

.settings配置

2020-03-31 22:09:01

React應(yīng)用程序庫(kù)

2009-06-19 13:45:53

Java應(yīng)用程序Jfreechart

2012-06-07 09:15:14

ibmdw

2012-05-29 10:04:08

2009-07-16 17:09:02

Swing應(yīng)用程序

2012-02-15 13:26:56

IndexedDB

2022-03-14 08:54:04

NetlifyHTMLReact

2011-07-21 10:47:37

iPhone Cocoa 委托

2021-05-05 10:06:09

React應(yīng)用程序微前端

2011-12-02 14:17:51

Java

2009-12-10 15:35:10

ASP.Net 2.0

2013-11-19 15:35:01

2011-11-03 09:41:35

Android簽名安全性

2021-01-30 10:58:29

React應(yīng)用程序開(kāi)發(fā)

2024-05-15 11:42:33

FlutterWeb 庫(kù)應(yīng)用程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 九色网址| 99精品欧美一区二区蜜桃免费 | 久久久久国产一区二区 | 国产黄a一级 | 午夜影院 | 成人网av | 波多野结衣中文字幕一区二区三区 | 天天干天天操天天看 | 一级日批片 | 日韩精品一区二区三区中文字幕 | 日韩一区中文字幕 | 一级黄色片网址 | 毛片免费观看视频 | 久久久亚洲一区 | 久久久久久久久久久久91 | 欧美在线观看网站 | 欧美一区二区三区在线 | 男人天堂网址 | 九九久久精品 | 久久精品国产99国产精品 | 中文字幕 国产精品 | 国产乱码精品一区二区三区五月婷 | 欧美午夜影院 | 亚洲精品一区中文字幕乱码 | www.精品国产 | www.99精品| 一区二区三区不卡视频 | 91九色婷婷 | 日日夜夜操天天干 | 国产一级免费视频 | 亚洲精品1区 | 人人草人人干 | 在线播放91| 国产福利资源在线 | 日日干天天操 | 亚洲精品乱码久久久久久蜜桃91 | 中文字幕91 | 日韩精品一区二区三区在线观看 | 久久精品欧美一区二区三区不卡 | 欧美日韩亚洲视频 | 亚洲精品成人在线 |