react项目中引入typescript

2023-11-17

新建项目使用typescript

如果你是要新建一个使用typescript的react项目,并且你用脚手架Create React App去创建,那没就非常的容易,你只需要在创建的时候将命令改为

npx create-react-app "你的项目的名称" --template typescript

已有项目引入typescript

如果你是要在已有的react项目引入typescript或者你想创建一个新的react项目但是不想使用Create React App,那么你必须手动的安装typescript

1.项目下安装typescript

npm install typescript --save-dev

2.初始化tsconfig配置文件,这会在项目下生成一个tsconfig.json的文件

npx tsc --init

3.配置tsconfig.json,更多的配置可以查看typescript官网文档

{
  "compilerOptions": {
     "target": "es5", /**指定ECMAScript目标版本**/                   
     "module": "commonjs", /**指定生成哪个模块系统代码**/ 
     "allowJs": true,  /**允许编译js文件**/                     
     "jsx": "preserve",  /**支持JSX**/                  
     "outDir": "build",  /**编译输出目录**/    
     "strict": true, /**启用所有严格类型检查选项**/ 
     "noImplicitAny": false, /**在表达式和声明上有隐含的any类型时报错**/          
     "skipLibCheck": true,  /**忽略所有的声明文件的类型检查**/                   
     "forceConsistentCasingInFileNames": true   /**禁止对同一个文件的不一致的引用**/   
  },
  "include": ["src"] /**指定编译目录**/ 
}

需要注意的是官网使用的是"rootDir": “src”,但是由于我的项目的配置文件都是弹出来的,所以有些文件并没有在src的目录下,配置这个打包就报错了,所以我这里使用的是"include": [“src”],在此基础上,还可以通过exclude来排除某些文件或目录。

4.安装react的声明文件

npm install --save @types/react @types/react-dom

5.如果你完全没有依靠Create React App来创建项目,那没你还需要安装配置ts-loader或者babel-loader来对 .ts.tsx 文件进行处理,具体的配置可以查看webpack官网。

6.之后就可以愉快的使用typescript来使用react了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

react项目中引入typescript 的相关文章

  • 用笑话测试实现react-leaflet映射的react组件的问题

    当我尝试测试实现react leaflet库的react组件时 遇到以下问题 C digital booking ui node modules react leaflet lib index js 1 Object
  • “npx create-react-app appname”不起作用

    当我跑步时npx create react app appname我收到以下错误消息 You are running create react app 4 0 0 which is behind the latest release 4 0
  • ant design select占位符问题

    我在我的 React 应用程序中使用 antd design 这是我遇到问题的代码片段
  • 是否可以使用 TypeScript 对 jQuery.fn.extend 进行建模

    我的猜测是 答案是 否 但我想检查一下是否有我错过的东西 jQuery 有一个fn extend 方法 http api jquery com jQuery fn extend 它允许您使用额外的方法来扩充 jQuery 对象 以下是 AP
  • 在 React 应用程序中使用 API 密钥

    我有一个使用两个第三方服务的 React 应用程序 该应用程序已开始使用react create app 这两项服务都需要 API 密钥 通过脚本标签提供一个密钥 如下所示 另一个 API 密钥在请求中使用 我将实际密钥存储在常量中并使用它
  • 我们如何关闭office React Fabric组件的错误消息栏?

    我正在尝试在应用程序中使用 Fabric React messageBar 组件 但即使我单击 messageBar 组件中的关闭图标 也无法关闭 关闭 消息部分 请找到以下代码以供参考 import React from react im
  • nextjs/image 中属性“src”的类型不兼容

    我正在使用 React dropzone 在我的简单应用程序中上传多图像 为了显示要删除的图像类型 我使用 TypeScript 创建了一个单独的组件 但 Next js 图像 src 显示错误 如类型 src string alt str
  • CRA 的 src 之外的测试文件夹?

    我为我创建的应用程序编写测试npx create react app template typescript但我不知道如何将测试文件保存在组件旁边或单独的文件夹中test 我想我应该创造test文件夹外src src App tsx etc
  • 使用函数重载进行解构

    我正在尝试创建一个函数 该函数需要一对坐标或一个对象x and y属性并返回邻居列表 但由于某种原因 即使我检查了它的类型 我也无法解构该对象 interface Coords x number y number public getNei
  • 从 Angular 6 中的 html 导出 Pdf

    我想从 Angular 6 中的 html 导出 pdf 所以 我正在使用jspdf图书馆 但我不能给出颜色和背景颜色等样式 我怎样才能实现这个目标 如果有其他免费图书馆jspdf 我可以用它 您可以从下面的链接查看演示 DEMO http
  • 为什么无论状态是对象还是字符串,React 重新渲染的方式都不同?

    下面的反应示例 userProfile状态是一个object 第一次渲染 状态是 第二次渲染 状态是res data gt 无限重新渲染 If userProfile更改为string e g useState with setUserPr
  • 如何让 Typescript 获取声明文件?

    My file src auth ManagementAPI ts使用 Auth0 我需要使用自己的声明文件并创建src types auth0 d ts 然而 当我跑步时ts node 我收到此错误 TSError Unable to c
  • 如何通过 redux-persist 阻止 redux-form“form” 状态自动重新水合

    我正在使用 redux form 它提供了一个内置的减速器 称为 formReducer 需要向组合减速器注册 以使用 redux 的存储管理表单状态 我还使用 redux persist 来保存 redux 存储 当我不想让我的表单自动重
  • 如何在泛型方法中引用类型参数的值

    此代码无法编译 因为对 CreateItem 的调用的第一个参数不是作用域内的变量 abstract class Catalog
  • Angular8 firebase配置错误'@angular/fire/angularfire2'

    使用 firebase 配置 Angular 后尝试 ng 服务 时 出现错误 尽管我用谷歌搜索了这个错误消息但找不到任何东西 从错误信息来看 这个问题与库本身有关 user user MacBookPro post ng serve 10
  • 如何对 NestJS 中的控制器应用防护进行单元测试?

    我在 NestJS 中配置了一个控制器 我想检查是否设置了适当的防护 有人有如何完成此操作的示例吗 这个 删节的 示例作为一个应用程序可以正常工作 所以我只是在测试指导之后 您会注意到在用户测试中有一些我正在调用的测试Reflect get
  • 如何在重新加载或向后/向前重定向时保存 React 页面的状态?

    下面是我的代码 我正在使用 API 并获取当前页面上的一些数据 现在 我想在重新加载页面或再次返回或前进时保存此页面的状态 在这里 我从上一页 api 获取 featureGroupID 并将其存储在全局变量 customerID 中 我知
  • 反应独特的“关键”错误

    我正在浏览 React 中的待办事项列表教程 并遇到以下错误 我花了相当长的时间 只是找不到错误 这是错误和组件的代码 这就是代码对于课程存储库 此提交中出现问题 https github com andrewjmead react cou
  • Flask 和 Reactjs 抛出 JSX 转换错误

    我已经开始将 ReactJS 与 Python Flask 后端结合使用 通过 Flask 渲染模板时 我在 Chrome 控制台中收到以下客户端错误 错误 找不到模块 jstransform visitors es6 templates
  • Angular 2发送数组另一页

    我正在使用 Angular 开发天气应用程序 我是 Angular 的新手 我想带上我选择的城市的天气信息 但我无法将数据发送到第二页 哪里有问题 预先感谢您的帮助 export class ForecastComponent implem

随机推荐

  • Mysql mysqldump备份数据

    mysqldump客户端实用程序执行逻辑备份 生成一组 SQL 语句 可以执行这些语句来重现原始数据库对象定义和表数据 它转储一个或多个 MySQL 数据库以进行备份或传输到另一台 SQL 服务器 mysqldump 命令还可以生成 CSV
  • C++实验一:简单数据及运算(解方程、海伦公式求三角形面积)

    实验目的 1 掌握C 中的基本数据类型的算术运算和逻辑运算 2 理解并掌握C 中运算符的优先级 3 掌握简单的类型转换方法 4 掌握C 的math头文件中常用的几种数学运算 5 了解visual studio的debug功能 并使用debu
  • Java动态代理代码编写

    Java动态代理代码编写 代理的概念 动态代理技术是整个java技术中最重要的一个技术 它是学习java框架的基础 不会动态代理技术 那么在学习Spring这些框架时是学不明白的 动态代理技术就是用来产生一个对象的代理对象的 在开发中为什么
  • 《AGIC学习之 LangChain获取电影信息》

    先获取 TMDB 的token https www themoviedb org settings api 申请API 应用URL是你的ip地址才行 应用简介要翻译为英文 import os os environ TMDB BEARER T
  • 企业电子招标采购系统源码Spring Cloud + Spring Boot + MybatisPlus + Redis + Layui + 前后端分离 + 二次开发

    功能描述 1 门户管理 所有用户可在门户页面查看所有的公告信息及相关的通知信息 主要板块包含 招标公告 非招标公告 系统通知 政策法规 2 立项管理 企业用户可对需要采购的项目进行立项申请 并提交审批 查看所有的立项信息 主要功能包含 招标
  • Ubuntu输入密码后无法进入桌面,但是可以进入命令行界面

    安装中文版的ubuntu经常会出现无法进入桌面的状况 这里给出我的解决方案 初步断定是Xwindows界面软件出问题了 所以重装即可 Solve 1 Ctrl Alt F1进入命令行界面 root账户登陆 Ctrl Alt F1进入命令行界
  • yum出现Error downloading packages错误

    yum出现Error downloading packages错误 错误表现方式 yum可以list 可以clean cache 但是无法安装 错误提示 Downloading packages Error downloading pack
  • Ubuntu上用网易云音乐乱码(亲测可用)

    使用Ubuntu听音乐的时候 播放列表总显示为乱码 这点非常不爽 于是上网搜索了下 终于找到了解决的办法 简单的方法就是将MP3标签转换为Unicode编码 要使用到python mutagen 在新立得软件管理中可以直接找到 也可以用以下
  • 让 Linux 应用随处运行,使用AppImage的方式安装软件!

    前言 大家好 我是小满同学 我是通过中国大学MOOC上的 零基础学Linux操作系统 这门课程入门了linux 学习和使用linux一年多 收获了很多 下面是关于linux下安装软件方式的一些分享 在课程中 我们了解到在linux平台下安装
  • 【含视频教程】python实现图书管理系统

    嗨嗨 大家好 我是小圆 今天给大家分享一下如何用python实现图书管理系统 手把手带你制作图书管理系统 文章末尾还有视频教程哦 话不多说马上开始吧 用户注册 def logon print 欢迎来到图书管理系统注册页面 username
  • jar包打包实践

    本文内容 1 不打包运行java应用程序 2 命令行打包的几种方式 3 非springboot项目如何使用springboot的打包方式 前言 作为java程序员 打包是一项基础性的技能 开发工具一般都集成了相应的打包功能 似乎不用我们投入
  • javaScript基础面试题 --- JS继承有哪些

    方法一 extends方法 在构造函数constructor中写super 必须的 class Parent constructor this age 18 class Child extends Parent constructor su
  • 宋浩概率论笔记(七)参数估计

    数一概率论大题的核心内容 关键是公式的背诵 需要特别重视
  • 几种获取本机IPv6地址的方法

    如同获取IPv4的地址一般 获取IPv6也是可以通过使用网卡信息来得到IPv6的地址 也可以给一个多播地址发送数据包然后获取IPv6的地址 在IPv4通过iotcl函数是可以获取本主机的IPv4的地址的 但是本楼主使用iotcl函数来获取I
  • Amazon——Elastic Compute Cloud(EC2)

    云计算 教材试读 弹性计算云EC2 4 3 弹性计算云EC2 亚马逊弹性计算云服务 Elastic Compute Cloud EC2 是亚马逊提供的云计算环境的基本平台 网络数据流的流向非常复杂 企业和个人的网络平台所需的计算能力也随着这
  • 老毛桃安装Linux系统ISO镜像,win7安装linux系统_老毛桃硬盘重装系统教程 - Win7之家...

    老毛桃一直都是在推广U盘启动制作器 但是最近白云看到了一个老毛桃硬盘安装器 所以小编就去试验了一番 现在给大家介绍一下老毛桃硬盘重装系统教程 虽然和一般硬盘安装器大相庭径 不过还是可以借鉴一番 下面就跟小编一起来看看吧 1 首先百度搜索老毛
  • 使用Python互转pdf文档和word文档

    1 前言 一日 欲将手头上的一份pdf文档转换成word文档 先试着用XX办公软件试了下 微信扫码登录后 在PDF转换界面 选中文档 点击 开始转换 弹出提示对话框 免费的只给转换5页文档 可我这文档要350页 全部转换需开通会员 有点懵逼
  • docker 安装 rabbitmq

    拉取rabbitmq镜像 docker pull rabbitmq 启动rabbit 并指定登录账号 密码 端口映射 docker run d name rabbitmq hostname my rabbit p 5672 5672 p 1
  • 操作系统读写者问题实验报告_大云制造

    友情提示 全文3000多文字 预计阅读时间10分钟 概述 大云企业操作系统 BC Linux BigCloud Enterprise Linux 是中移 苏州 软件技术有限公司借助开源社区优势 通过定制化手段研发的高性能 安全可靠 自主可控
  • react项目中引入typescript

    新建项目使用typescript 如果你是要新建一个使用typescript的react项目 并且你用脚手架Create React App去创建 那没就非常的容易 你只需要在创建的时候将命令改为 npx create react app