React+TS 从零开始教程(1)

源码链接:https://pan.quark.cn/s/c6fbc31dcb02

创建项目

直接通过以下命令,我们来创建一个react+ts的项目。

npx create-react-app myapp --template typescript

image.png

这样就创建好了,然后我们导入vscode. npxnpm里面的一个库,可以让你自动使用项目里面的包,而不用手动去安装。

image.png

node_modules自动已经下载好了. 还自动帮你提交了1次.

image.png

项目结构

src目录是参与打包的,也是我们真正写代码的地方。

image.png

public不参与打包,我们很少会去修改其中的内容。

image.png

我们在src中编写的任何文件,最终都会被打包成一个buddle.js,给index.html服务,public里面的图片,字体,资源也一样. package.json : 项目的入口文件 (包含项目依赖,运行脚本等) tsconfig.json: 配置TS (我们暂时不管) 运行项目:npm run start

image.png

这个图片是在App.tsx中引入的

image.png

我们看到,在react中,引入图片也像是引入组件一样,然后在需要的地方用{}括起来就行了;

安装prettier

先别问prettier是什么,跟着做就行了。

npm install --save-dev --save-exact prettier

在package.json中会多出这个配置

image.png

再新建一个配置文件

echo {}> .prettierrc.json

image.png

里面是一个空的{} 再来建一个.prettierignore,类似于.gitignore,是指我们不需要格式化的文件。 里面就写一个build,代表构建的目录不需要格式化。

image.png

lint-staged代表那些后缀名的文件需要被格式化,由于我们是ts的项目,所以扩展名加两个:ts,tsx

  "lint-staged": {
    "*.{js,css,md,ts,tsx}": "prettier --write"
  }

create-react-app自带eslint

"eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },

现在我们说下prettier是干嘛用的吧,他就是帮我们自动格式化的,统一格式化代码,这样就不需要我们一个个文件去格式化了。

image.png

我们故意把格式搞乱,然后去提交。

image.png

在控制台输入

npx prettier --write .

手动格式化成功。

image.png

json-server

这个是方便我们mock数据的。

 npm i json-server -g

注意,如果你的node版本很低,14左右的样子,用下面这个(MD搞死了~)

npm install -g json-server@0.17.3

创建一个db.json

1718891108899.png

{
    "users": []
}

然后启动

json-server db.json --watch

image.png

监听在3000端口,打开postman,访问一下。

image.png

这个代表查询users的列表数据,返回空,符合预期。 然后把方法改成post,添加一个数据。

image.png

post代表提交数据,返回了一个新的user,并且,我们的db.json也改了。

image.png

users代表资源,如果现在要改变id为1的数据,将age加1岁,就这样

image.png

image.png

以上的json-server是全局安装的,现在要继承到项目里面。

npm i --save json-server@0.17.3

然后,在项目里面加一个文件夹 json_server_mock 并且将刚才的db.json移动进去,这个目录用__开头,代表跟项目本身没啥关系,只是辅助。

image.png

最后,来到package.json,添加一个脚本

"json-server": "json-server __json_server_mock__/db.json --watch"

以后,我们就可以直接通过npm run json-server来启动json-server了。

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/727893.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

运算放大器(运放)输入偏置电流、失调电流

输入偏置电流定义 理想情况下,并无电流进入运算放大器的输入端。而实际操作中,始终存在两个输入偏置电流,即IB和IB-(参见图1)。 I B I_B IB​的值大小不一,在静电计AD549中低至60 fA(每三微秒通过一个电子),而在某些高…

/usr/bin/ld: 当搜索用于 /lib/i386-linux-gnu/libcuda.so 时跳过不兼容的 -lcuda

/usr/bin/ld: 当搜索用于 /lib/i386-linux-gnu/libcuda.so 时跳过不兼容的 -lcuda ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/023dbdeb215b4b4580f7f54706e32af9.pn当使用unsloth做微调时,发现找不到libcuda,很自然想到需要软链接到最新…

食品快消品进销存+门店批发+零售商城整体代码输出

食品快消品行业在当今信息化和数字化浪潮中,建立批发零售的信息化系统已成为一种迫切的必要性。通过信息化,食品快消品企业能够实现从生产到销售的全面优化,提高供应链效率,降低运营成本,增强市场竞争力。通过有效的信…

Redis持久化主从哨兵分片集群

文章目录 1. 单点Redis的问题数据丢失问题并发能力问题故障恢复问题存储能力问题 2. Redis持久化 -> 数据丢失问题RDB持久化linux单机安装Redis步骤RDB持久化与恢复示例RDB机制RDB配置示例RDB的fork原理总结 AOF持久化AOF配置示例AOF文件重写RDB与AOF对比 3. Redis主从 ->…

虚拟机配置桥接模式

背景 因为要打一些awd比赛,一些扫描工具什么的,要用到kali,就想着换成一个桥接模式 但是我看网上的一些文章任然没弄好,遇到了一些问题 前置小问题 每次点开虚拟网络编辑器的时候都没有vmnet0,但是点击更改的时候却有vmnet0 第一步: 点击更改设置 第二步: 把wmnet0删掉 …

【车载开发系列】CAN通信总线再理解(中篇)

【车载开发系列】CAN通信总线再理解(中篇) 九. CAN总线标准十. CAN物理层十一. CAN数据链路层1)CAN的通信帧类型2)CAN的标准帧格式1. CAN ID2. 数据场 3)CAN总线仲裁 十二. CAN应用层1)CANopen2&#xff09…

傅里叶级数在不连续点会怎么样???

文章目录 一、前言背景二、用狄利克雷核表达傅里叶级数三、狄利克雷核与狄拉克函数四、傅里叶级数在不连续点的表示五、吉伯斯现象的解释六、总结参考资料 一、前言背景 笔者最近在撸《信号与系统》,写下此博客用作记录和分享学习笔记。由于是笔者为电子爱好者&…

前端锚点 点击 滑动双向绑定

一. 页面样式 二. 代码 <div class"flexBox"><div class"mdDiv" v-for"(item,index) in tabList" :key"index" :class"nowChooseindex?choosed:" click"jumpMD(index, item.id)">{{item.name}}&l…

简单分析一下地产行业使用堡垒机的必要性-行云管家

地产行业&#xff0c;一个关系民生的行业&#xff0c;一个与大家生活密不可分的行业。随着信息技术的快速发展&#xff0c;以及数字化转型的要求&#xff0c;以及地产行业业务迅猛发展&#xff0c;如何保障数据安全以及网络安全至关重要。在这种背景下&#xff0c;使用堡垒机就…

VBA基础知识点总结

VBA教程 VBScript教程 数据类型 数字数据类型 非数字数据类型 变量&常量 可以通过Dim、Public或Private语句声明变量。 变量语法&#xff1a;Dim <<variable_name>> As <<variable_type>>&#xff08;需要在使用它们之前声明&#xff09; 常量语…

全球AI新闻速递6.20

1.国家药监局综合司&#xff1a;关于印发药品监管人工智能典型应用场景清单的通知。 2.Canalys&#xff1a;预计今年全球 AI 手机市场份额达 16%。 3.Adobe Acrobat 升级 AI 技能&#xff1a;文生图、梳理信息等。 4.中国科大人形机器人研究院揭牌。 5.华为官方预告&#x…

对30年国债利率破2.5%的复盘反思

短期看&#xff0c;以月为维度&#xff0c;长端和超长端利率依然具有较强的向下突破的惯性&#xff1b;中期看&#xff0c;以季为维度&#xff0c;长端依然面临向下赔率不足的约束&#xff0c;但调整需要多重利空共振的契机。 短期看多&#xff0c;逢高配置”的四点逻辑 逻辑一…

四川赤橙宏海商务信息咨询有限公司引领抖音电商潮流

在当今数字化浪潮下&#xff0c;电商行业蓬勃发展&#xff0c;抖音电商作为新兴力量&#xff0c;正以其独特的魅力吸引着越来越多的商家和消费者。四川赤橙宏海商务信息咨询有限公司&#xff0c;作为抖音电商服务领域的佼佼者&#xff0c;凭借其专业的团队和丰富的经验&#xf…

基于SpringBoot+Vue北部湾地区助农平台设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;还…

系统学习PLC

1.OB组织块 程序循环 PC ob1执行一次 ob123也执行一次 是 statup是程序启动的是第一个周期先执行starup&#xff08;0b100&#xff09;然后在执行ob1和0b123.这二个循环&#xff0c;周期执行这二个循环。1000是1s 2.DB块 建立指定数据块可以直接建立自己喜欢的类型 3.FB与…

【维护服务器安全,如何应对恶意的威胁行为?】

随着互联网的迅猛发展&#xff0c;网络服务器成为现代社会中不可或缺的基础设施。然而&#xff0c;恶意攻击行为也日益猖獗&#xff0c;技术不断升级&#xff0c;给网络服务器的安全带来了严峻挑战。下面德迅云安全就分享一些常见的危害服务器安全的行为&#xff0c;和相应的应…

什么是嵌入式,单片机又是什么,两者有什么关联又有什么区别?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;从科普的角度&#xff0c;…

看完再买不后悔!希喂、小米、霍尼韦尔宠物空气净化器性价比比拼

在忙碌的工作之余&#xff0c;养一只猫真的能治愈一切的不快&#xff0c;让我们的心灵得到片刻的宁静。然而&#xff0c;这份宁静背后&#xff0c;却隐藏着一些不易察觉的烦恼——猫浮毛和异味。 猫浮毛&#xff0c;这个看似微不足道的小问题&#xff0c;实则给许多宠物主人带…

如何在MySql数据库中以经纬度进行查询

要在数据库中以经纬度进行查询&#xff0c;特别是针对MySQL数据库&#xff0c;你可以遵循以下步骤来实现基于地理位置的查询&#xff1a; 1. 数据表设计 首先&#xff0c;你需要设计一个数据表来存储地理位置信息。可以使用POINT类型来直接存储经纬度坐标&#xff0c;或者分别…

家用洗地机哪个品牌耐用?推荐这四款清洁力强的机型

近两年智能家庭清洁产品的快速崛起&#xff0c;典型代表就是家用洗地机。它集合吸尘、扫地、洗地、消杀等功能为一体&#xff0c;给人们生活带来了很多的便利&#xff0c;但随着洗地机的普及&#xff0c;市场上的机型也越来越多&#xff0c;让很多新手购机的朋友们无法快速下决…