偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

React應用程序配置TypeScript

開發(fā) 后端
最近在學習TypeScript的一些知識用到了 react,記錄一下 react 創(chuàng)建應用項目和支持 TypeScript。

[[346311]]

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

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

在使用 react 的庫的時候我們需要安裝下面的幾個組件:

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

閱讀本文將學到:

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

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

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

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

  1. npx: 97 安裝成功,用時 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)建好程序之后,我們記錄一下此時的目錄:

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 是相當于 jsx 的 TypeScript 版本,在目錄中我們將.js 后綴結尾的改成.tsx 結尾

  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>  //嚴格模式 
  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 模塊中導入文件。這告訴 Webpack 將該文件包含在 bundle 中。與 CSS 導入不同,導入一個文件會給你一個字符串值。這個值是您可以在代碼中引用的最終路徑,例如,作為圖像的 src 屬性或指向 PDF 的鏈接的 href。

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

在開始之前,必須將每種類型定義為有效的模塊格式。否則,TypeScript 編譯報錯

要在 TypeScript 中導入這些文件,請在項目中創(chuàng)建一個新的類型定義文件,并將其命名為 assets.d.ts。然后,為需要導入的每種類型的資產(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重新啟動項目才能生效。

 

責任編輯:姜華 來源: 小丑的小屋
相關推薦

2021-09-26 08:30:31

Python應用程序代碼

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應用程序

2012-06-07 09:15:14

ibmdw

2012-05-29 10:04:08

2009-06-19 13:45:53

Java應用程序Jfreechart

2009-07-16 17:09:02

Swing應用程序

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應用程序微前端

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應用程序開發(fā)

2024-05-15 11:42:33

FlutterWeb 庫應用程序
點贊
收藏

51CTO技術棧公眾號