使用React18+Ts创建项目

news2024/10/13 4:19:26

1. 创建项目

首先,使用create-react-app工具创建一个新的React项目:

npx create-react-app 项目名 --template typescript

2. 安装依赖项

使用脚手架创建项目后,自带react-dom等依赖项,但react中的所用的路由方法是react-router-dom中。

npm install  react-router-dom 

3. 文件结构

默认情况下,create-react-app模板会自动生成一些文件和文件夹,这些文件和文件夹包括:

- node_modules
- public
    |- index.html
    |- favicon.ico
- src
    |- App.css
    |- App.tsx
    |- index.tsx
    |- logo.svg
    |- react-app-env.d.ts
    |- setupTests.ts
- package.json
- README.md
- tsconfig.json
  • node_modules:存储所有的项目依赖项。
  • public:存储静态资源文件,例如 index.html 和 favicon.ico 文件。
  • src:存储应用程序的源代码。
  • App.css 和 App.tsx:是 React 组件的样式和逻辑。
  • index.tsx:是应用程序的入口。
  • tsconfig.json:存储 TypeScript 配置信息。

4. 配置样式

完成上述步骤后,我们还可以使用sass,less等预处理器来处理样式

npm install sass stylelint stylelint-config-standard-scss --D

这样我们就可以直接在项目中使用sass样式。
在这里插入图片描述

5.配置路由

新建一个router文件夹,里面创建index.tsx文件

import { lazy } from "react";
import { RouteObject } from "react-router-dom";
import Home from "../views/home";

const New = lazy(() => import("../views/editor/new") as any);
const Article = lazy(() => import(`../views/Article/[id]`) as any);
const routes: RouteObject[] = [
  {
    path: "/",
    element: <Home />,
  },
  {
    path: "/new",
    element: <New />,
  },
  {
    path: "/article/:id",
    element: <Article />,
  }
];

export default routes;

在App.tsx文件夹下使用路由
在这里插入图片描述
在根目录下的index.tsx包裹路由
在这里插入图片描述

运行成功后,你应该可以通过 http://localhost:3000 访问到你的应用程序。

最后放一个版本信息
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

建站系列(八)--- 本地开发环境搭建(WNMP)

目录 相关系列文章前言一、准备工作二、Nginx安装三、MySQL安装四、PHP安装及Nginx配置五、总结 相关系列文章 建站系列&#xff08;一&#xff09;— 网站基本常识 建站系列&#xff08;二&#xff09;— 域名、IP地址、URL、端口详解 建站系列&#xff08;三&#xff09;— …

cookie、session、Token区别

1 HTTP无状态&#xff0c;什么是无状态&#xff1f; http 无法知道是哪个客户端发出的请求&#xff0c;也无法判断是否为已登录用户请求&#xff0c;这就导致了 http 无法记住用户的登录状态。 2 cookie和session的是什么&#xff1f;为什么session这么好还要用cookie? coo…

VR钢铁实训 | 铁前事业部虚拟仿真培训软件

随着科技的发展&#xff0c;虚拟现实技术在各个行业中的应用越来越广泛。在钢铁冶炼行业中&#xff0c;VR技术也逐渐得到了应用&#xff0c;其中铁前事业部虚拟仿真培训软件就是一项非常有优势的技术。 铁前事业部虚拟仿真培训软件是广州华锐互动打造的《钢铁生产VR虚拟培训系统…

MySQL的用户管理

1、MySQL的用户管理 &#xff08;1&#xff09;创建用户 create user zhang3 identified by 123123;表示创建名称为zhang3的用户&#xff0c;密码设为123123。 &#xff08;2&#xff09;了解user表 1&#xff09;查看用户 select host,user,authentication_string,select…

react memo判断刷新机制 自定义的比较函数 避免重复渲染

需求&#xff1a; 1. 需要在courseList参数变化时重新渲染组件。 2. 需要在currentWeekNumber参数 等于我指定值才重新渲染组件。 3.以上2个条件同时满足。 遇到的坑 一开始实现了我上面指定的问题需要的函数&#xff0c;后面发现怎么都刷新不了&#xff0c;经过深入观察发现m…

【ESP32】串口+wifi 透传,以及回调函数的使用

本文主要记录【ESP32】串口wifi 透传】的学习记录&#xff0c;主要包括 1.串口的AT 模式和透传模式 2. 串口命令解析 3. socket 连接 4. 回调函数的使用 【ESP32】串口wifi 透传&#xff0c;以及回调函数的使用 1. 函数接口说明2.开发环境3.硬件连接4.测试结果4.1发送 ATWS 命令…

Linux学习笔记-Ubuntu系统用户、群组、权限管理

一、概述 本文记录Ubuntu系统下通过命令操作用户账户进行管理。 Ubuntu系统版本&#xff1a; Linux ubuntu 5.15.0-1034-raspi #37-Ubuntu SMP PREEMPT Mon Jul 17 10:02:14 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux 注&#xff1a;查看系统版本号的指令如下 uname -…

YOLOV7改进-针对小目标的NWD(损失函数)

link 1、复制这些 2、utils-loss&#xff0c;这里加 3、把这几行复制到utiils的loss.py 4、先对CoputerLoss类做修改 5、把那一行替换成这个 6、修改 7、iou_ration是超参&#xff0c;可以调&#xff0c;如果小目标比较多的话&#xff0c;这个值可以低一些&#xff0c;…

Vuex - state 状态(获取和使用共享数据)

文章目录 一、state是什么&#xff1f;二、state状态的作用三、如何使用store数据呢&#xff1f;使用数据的两种方式&#xff1a;1. 通过store 直接访问2. 通过辅助函数访问(简化) 一、state是什么&#xff1f; state是状态&#xff08;数据&#xff09; &#xff0c; 类似于v…

redis集群最少使用三个主节点的原因

集群最少三个主节点的原因 https://redis.io/docs/management/scaling/ 官网建议&#xff0c;搭建 redis 集群最少三主三从。 但是这么做是出于什么考虑呢&#xff1f; https://blog.csdn.net/qq_35549286/article/details/127057374 借鉴这位的解答 为什么是三个? cluster各…

骨传导与入耳式耳机哪种音质好?该如何选择?

骨传导耳机和传统耳机的定位不同&#xff0c;所以没有可比性&#xff0c;如果一定要说哪款耳机音质好&#xff0c;答案是入耳式耳机音质比较好&#xff01; 首先入耳式耳机是直接塞入耳朵佩戴&#xff0c;会最大程度减少漏音&#xff0c;同时不会改变音质&#xff0c;会直接传…

构建自定义美颜应用:全局美颜SDK的开发指南

美颜技术已经成为许多应用程序和平台的标配之一&#xff0c;为用户提供了改善外观的机会。为了在你的应用中提供自定义的美颜功能&#xff0c;你可以考虑使用全局美颜SDK。本文将向你介绍如何构建自定义美颜应用&#xff0c;以及开发全局美颜SDK的关键步骤和技巧。 一、明确需…

Revit SDK 介绍:RayTraceBounce 光线反弹

前言 这个例子模拟光线反弹。 内容 通过修改参数&#xff0c;从&#xff08;0&#xff0c;0&#xff0c;0&#xff09;点向&#xff08;1&#xff0c;0&#xff0c;0&#xff09;方向射出光线&#xff0c;经过若干次反弹之后的结果。如图所示&#xff1a; 在Revit API 中&…

通过 http-server 运行刚打包出来的脚手架项目

这里 我打包了自己的vue项目 react其实也一样 如果我直接 打开打包出来的 dist 下面的index.html 会出现白屏资源找不到 或者跨域等问题 这个问题其实配个nginx也能解决 但是其实如果只是想做个测试 nginx就太麻烦了 我们可以通过npm指令 全局安装一个http-server 终端执行 …

每日刷题|回溯法解决全排列问题第二弹之解决字符串、字母大小排列问题

食用指南&#xff1a;本文为作者刷题中认为有必要记录的题目 前置知识&#xff1a;回溯法经典问题之全排列 ♈️今日夜电波&#xff1a;带我去找夜生活—告五人 0:49 ━━━━━━️&#x1f49f;──────── 4:59 …

OpenRoads Designer道路旁添加公交车停车区

在道路工程建模时如果需要在路旁添加公交车停车区&#xff0c;如下图所示&#xff0c;可通过对道路轴线进行局部偏移的方式实现。 在道路旁添加如上图所示的公交车停车区操作步骤&#xff1a; 1、使用Geometry下的Single Offset Partial将路线中的一段进行偏移&#xff1a; 参数…

亚马逊、ManoMano等跨境电商平台测评还能做吗?

亚马逊测评是卖家通过真实购买商品并撰写评价来获取评价权利的过程 卖家账号发布产品后&#xff0c;测评买家账号进入商铺进行购买并对商品质量、外观、卖家服务态度和物流体验等方面进行点星留评 在亚马逊卖家运营中&#xff0c;评论是一个关键而必不可少的环节&#xff0c;…

本地起一个VUE 前端项目

#安装 安装 Vue CLI 3&#xff1a; Vue CLI是一个用于创建和管理Vue项目的命令行工具 npm install -g vue/cli#查看更详细的告警信息 npm install -g vue/cli --verbose#检查项目的依赖关系 ,保持项目的依赖关系最新和安全 npm audit npm audit fix#查看版本 vue --version#创建…

oled或数码管点阵的字模矩阵的原理讲解

通过取模软件得到的T字符的矩阵分析 字模选项中常用的设置的意义&#xff1a; **字宽和字高&#xff1a;**显示字符能够使用的长宽灯数量&#xff0c;也可以理解为像素 **点阵格式&#xff1a;**需要考虑实际焊接电路。阴码&#xff1a;灯共阴极&#xff0c;控制器输出高电位&…

Linux权限问题

文章目录 前言一、shell 命令1、什么是 shell?2、什么是 shell 脚本&#xff1f;3、shell环境4、总结 二、Linux权限1、su命令2、Linux文件类型3、Linux文件权限4、文件访问权限的相关设置4.1 chmod指令4.2 chown指令4.3 chgrp指令4.4 总结 前言 一、shell 命令 1、什么是 sh…