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

React應用程序配置TypeScript

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

[[346311]]

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

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

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

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

閱讀本文將學到:

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

創建項目
這里默認我們擁有 node 環境,使用 npx 快速安裝 React 的應用程序

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

在網絡條件不錯的情況下,速度還是可觀的吧

  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! 

創建好程序之后,我們記錄一下此時的目錄:

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

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

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

  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 中圖片編譯失敗
在修改完文件名字后發現圖片編譯失敗

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

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

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

要在 TypeScript 中導入這些文件,請在項目中創建一個新的類型定義文件,并將其命名為 assets.d.ts。然后,為需要導入的每種類型的資產添加一行:

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

2009-06-19 13:45:53

Java應用程序Jfreechart

2012-06-07 09:15:14

ibmdw

2012-05-29 10:04:08

2011-07-21 10:47:37

iPhone Cocoa 委托

2009-07-16 17:09:02

Swing應用程序

2012-02-15 13:26:56

IndexedDB

2022-03-14 08:54:04

NetlifyHTMLReact

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

2024-05-15 11:42:33

FlutterWeb 庫應用程序
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线成人www免费观看视频 | 在线视频国产一区 | 污免费网站| 久久国产亚洲精品 | 久久国产欧美日韩精品 | 日韩一区二区三区在线播放 | 亚洲精品中文字幕中文字幕 | 欧美在线a | 成人高潮片免费视频欧美 | 成人一区二区三区在线观看 | 一区精品在线观看 | 久久99久久98精品免观看软件 | 国产高潮好爽受不了了夜色 | 草在线| 国产成人精品综合 | 一区二区三区小视频 | 激情视频中文字幕 | 国产福利精品一区 | 狠狠操狠狠操 | www.婷婷| 国产视频福利 | 欧美电影免费网站 | 日韩精品一区二区不卡 | 国产日韩免费观看 | 欧美国产精品一区二区三区 | 精品国产综合 | 久久亚洲国产 | 亚洲精美视频 | 国产不卡视频在线 | 亚洲综合日韩精品欧美综合区 | 久久99精品久久久久久噜噜 | 国产高清在线精品一区二区三区 | 麻豆久久久9性大片 | 久久久久亚洲国产| 日韩在线欧美 | 国产在线播放一区二区三区 | 一区二区三区免费网站 | 一色桃子av一区二区 | 美国十次成人欧美色导视频 | 日韩三级一区 | 国产欧美一区二区三区在线看 |