React项目 加入 TS

2023-11-13

1、全局安装ts

npm i -g typescript

2、创建tsconfig.json

tsc --init

修改tsconfig.json,开启jsx和allowJs配置,

3、安装开发环境依赖

npm install --save-dev typescript @types/react @types/react-dom ts-loader

4、修改webpack.config.js


...

module.exports = {
    context: ...,
    entry: ...,
    output: ...,

    // 添加resolve
    resolve: {
        extensions: ['.ts', '.tsx', '.js']
    },

    module: {
        loaders: [

            // 增加新的loader
            {
                test: /\.tsx?$/,
                loaders: ['babel-loader', 'ts-loader']
            },
            ...
        ]
    },
    plugins: ...
};

ps: 关于.tsx文件

  • 如果.ts文件中包含jsx,则需要将.ts文件改成.tsx文件
  • 需要引用.tsx文件时,不用加扩展名,import xxx from ‘./xxx’;,而引用.jsx文件,是需要加扩展名的
  • .tsx文件中,React和ReactDOM不支持default import,需要进行修改

// 原来
import React from 'react';
import ReactDOM from 'react-dom';

// 修改成
import * as React from 'react';
import * as ReactDOM from 'react-dom';

解决报错

1、VSCode工具报“Experimental support for decorators is a feature that is subject to change in a future release. Set the ‘experimentalDecorators’ option to remove this warning.”错误原因

(对装饰者的实验支持是未来发布中可能会发生变化的特征。设置“实验装饰器”选项以移除此警告。)

也就是在 tsconfig.json 中添加 “experimentalDecorators”: true,

"compilerOptions": {
    "experimentalDecorators": true,
    ···
}

2、tsx文件 报 Uncaught ReferenceError: React is not defined

// 原来
import React from 'react';
import ReactDOM from 'react-dom';

// 修改成
import * as React from 'react';
import * as ReactDOM from 'react-dom';

关注我获取更多前端资源和经验分享
在这里插入图片描述

感谢大佬们阅读,希望大家头发浓密,睡眠良好,情绪稳定,早日实现财富自由~

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

React项目 加入 TS 的相关文章

随机推荐

  • ElementUI实现el-table列的显示与隐藏和列拖拽(RuoYi分离版)

    显示隐藏步骤思路 一 table要实现v for循环添加列的操作 二 给列添加v if属性 方法返回当前列是否显示隐藏 在RightToolBar添加列显示隐藏的图标控件
  • 树莓派详解

    参考文献 1 树莓派教程第一课 树莓派简介 十分钟玩转系列入门篇 哔哩哔哩 bilibili
  • 计算机网络断开后怎么连接,电脑网络断开怎样重新连接

    大家好 我是时间财富网智能客服时间君 上述问题将由我为大家进行解答 电脑网络断开重新连接的方法是 1 点击右下角网络图标 点击 打开网络和共享中心 2 点击 更改适配器设置 3 点击右键启用网络即可 网络是由节点和连线构成 表示诸多对象及其
  • 腾讯高性能RPC开发框架Tars实现服务治理(微服务)

    Github https github com Tencent Tars 1 介绍 Tars是基于名字服务使用Tars协议的高性能RPC开发框架 同时配套一体化的服务治理平台 帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用
  • C++ string类的实现

    个人简介 作者简介 大家好 我是菀枯 支持我 点赞 收藏 留言 格言 不要在低谷沉沦自己 不要在高峰上放弃努力 前言 在C语言中 没有专门用来表示字符串的类型 C语言的字符串是一系列以 0 为结尾的字符的集合 虽然C语言为这样的字符串提供了
  • vc++ 编写Windows服务 1053错误

    http xk861119 blog 163 com blog static 16327042010109102237317 建立一个服务程序的最简单的方法是用VC中的ATL COM向导 主菜单中选择新建 然后选Projects中的ATL
  • 京瓷6525_京瓷6525扫描怎么设置?

    本文中要用到的快捷键 Alt 一般为空格左侧第一个按键 Win 一般为空格左侧第二个按键 一般按键上标识为微软logo 一 桌面新建文件夹 名自定义 数字或字母 不能用汉字 例如我的 6525 右键属性 共享
  • php- 静态代码检测

    1 安装 PhpMetrics 可以直接 composer 全局安装 composer global require phpmetrics phpmetrics 安装完毕之后 可以这样来运行命令分析代码复杂度 phpmetrics repo
  • 关于在Unity 中动画的某一帧执行函数

    打开动画的inspector 选择Events 添加一个帧 然后再Function中输入你需要执行的函数名
  • ICS计算机系统大作业

    计算机系统 大作业 题 目 程序人生 Hello s P2P 专 业 计算机学院 学 号 120L020427 班 级 2003004 学 生 易焯平 指 导 教 师 史先俊 计算机科学与技术学院 2022年5月 摘 要 几乎全世界的程序员
  • 通俗理解PCA降维作用

    概述 本文主要介绍一种降维方法 PCA Principal Component Analysis 主成分分析 降维致力于解决三类问题 降维可以缓解维度灾难问题 降维可以在压缩数据的同时让信息损失最小化 理解几百个维度的数据结构很困难 两三个
  • Python设置excel单元格格式

    文章目录 xlwt 模块简介 设置数字的格式 设置字体 设置对齐方式 设置边框 设置 填充 设置保护 xlwt 模块简介 xlwt 是 python中一个用来操作 excel 文件的库 其中 封装了很多常用操作 本文主要讲解使用该库在生成e
  • elememt el-tree使用(样式修改+设置为单选,不含父节点)

    elememt el tree使用 样式修改 设置为单选 不含父节点 最近在使用element做练习 就单纯的想对使用的组件和功能做一下下记录 v 直接在elememt官网找自己想要使用的组件就好 html
  • 【算法提升】——中心扩散法(最长回文子串和回文子串)

    中心扩散法常用来解决回文子串的问题 如最长回文子串和回文子串的问题 最长回文子串 给你一个字符串 s 找到 s 中最长的回文子串 解题思路 从每一个位置确定回文子串中心点 回文子串向两边扩散的起始位置 向左右两边扩散进行比较 如果是 bab
  • LCD 亮度相关(背光) 正负压相关

    LCD 亮度相关 背光 kernel msm 3 18 drivers video msm mdss mdss fb c 调用led classdev register 注册lcd backlight sys class leds lcd
  • Lua的string和string库总结

    Lua有7种数据类型 分别是nil boolean number string table function userdata 这里我总结一下Lua的string类型和string库 复习一下 以便加深记忆 个人认为string是Lua编程
  • 全栈工程师的职业前景及就业环境情况说明

    本篇文章主要讲解全栈工程师的职业前景和就业趋势 作者 任聪聪 日期 2023年4月20日 全栈工程师顾名思义就是会一个技术栈领域的所有客户端技术 如web全栈即前后端技术栈都会的工程师 如web pc app都会的则也是全栈 大全栈 故此全
  • 网络---因特网的概述

    因特网的概述 网络 互联网 因特网 网络 许多计算机连接在一起 互联网 internet 许多网络连接在一起 因特网 全球最大的一个互联网 Internet和广域网 局域网 覆盖范围小 自己花钱买设备 带宽固定 10M 100M 1000M
  • 关于ER图和UML图之间的对比

    ER图与UML图 ER图 实体 联系图 Entity Relation Diagram 用来建立数据模型 在数据库系统概论中属于概念设计阶段 ER图提供了表示实体 即数据对象 属性和联系的方法 用来描述现实世界的概念模型 构成E R图的基本
  • React项目 加入 TS

    1 全局安装ts npm i g typescript 2 创建tsconfig json tsc init 修改tsconfig json 开启jsx和allowJs配置 3 安装开发环境依赖 npm install save dev t