当前位置: 首页 > news >正文

React项目搭建流程

第一步 利用脚手架创建ts类型的react项目:
        执行如下的命令:create-react-app myDemo --template typescript ;

 第二步 清理项目目录结构:
        src/ index.tsx, app.txs, react-app-env.d.ts 
        public/index.html,favicon.ico

第三步 项目配置:
       @1 配置项目的icon图标: 修改favicon.icon图片

       @2配置项目的标题:document.title = '项目名称' /  修改index.html 中的title

       @3配置项目别名@:提供两种方式:第一种执行npm install eject,暴露出webpack进行配
        置。第二种 使用craco进行配置,一般推荐第二种。
        项目别名配置流程:安装carco: npm install @craco/craco@alpha -D 
        项目跟目录下配置craco.config.js文件

const path = require('path')
const resolve = (dir)=>path.resolve(__dirname,dir)
module.exports = {webpack:{alias:{'@':resolve('src')}}
}

接下来打开tsconfig.json文件 在"jsx": "react-jsx",这行代码后面添加

"baseUrl":".", 
"paths":{"@/*" :["src/*"]
}

再将package.json文件中的“scripts”中的代码进行修改

  "scripts": {"start": "craco start","build": "craco build","test": "craco test","eject": "react-scripts eject"},

@4 集成editorconfig配置:目的,不同编辑器不同人员开发维护一致的代码风格:
第一步: 创建.editorconfig文件

# http://editorconfig.org
root = true[*]
charset = utf-8  // 设置文件字符集
indent_style = space // 缩进风格
indent_size = 2 // 缩进大小
end_of_line = lf // 控制换行类型
insert_final_newline = true // 始终在文件末尾插入一个新行
trim_trailing_whitespace = true // 去除行尾任意空白符[*.md]
max_line_length = off
// insert_final_newline = false
trim_trailing_whitespace = false

第二步 vscode需要安装插件:EDitorConfig for vs Code;

@5 安装代码格式化工具 npm install prettier -D
 第一步:创建.prettierrc文件:

{"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"none","semi":false
}

第二步: 创建.prettierignore忽略文件

/build/*
.local
.output.js
/node_modules/**
**/*.svg
**/*.sh
/public/*

第三步 package.json文件中 scripts中 新增 "prettier":"prettier --write ." 需要加.

第四步 vscode设置中配置:

 第五步 vscode 安装 Prettier-Code formatter 插件

@6 安装eslint 进行代码格式校验并进行代码提醒

第一步 vscode 安装eslint 插件 ,安装npm install eslint -D; 同时也需要npx eslint --init 安装插件
--》选择To check
syntx and find problems 这一项 --》再选择 javascript modules(inport/export)-》Browser;安装下面的步骤执行完,项目会自动创建出.selintrc.js文件
在.eslint文件下新增 :"env":{“node”:true}
.eslint文件rules中加"@typescript-eslint/no-var-requires":'off'
同时在vscode配置增加

    "eslint.validate": ["javascript","javascriptreact","typescript","typescriptreact"]

再安装插件:npm install eslint-plugin-prettier eslint-config-prettier -D
.eslint文件中再增加代码

    "extends": ["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:react/recommended","plgin:prettier/recommended" // 增加最后一行代码],

vscode设置代码中再增加一行:"eslint.alwaysShowStatus":true,  vscode右下角会显示eslint标记
        

相关文章:

React项目搭建流程

第一步 利用脚手架创建ts类型的react项目: 执行如下的命令:create-react-app myDemo --template typescript ; 第二步 清理项目目录结构: src/ index.tsx, app.txs, react-app-env.d.ts public/index.ht…...

QT DAY1作业

1.QQ登录界面 头文件代码 #ifndef MYWIDGET_H #define MYWIDGET_H#include <QWidget> #include <QIcon> #include <QLabel> #include <QPushButton> #include <QMovie> #include <QLineEdit>class MyWidget : public QWidget {Q_OBJECTpu…...

Java后端开发——Mybatis实验

文章目录 Java后端开发——Mybatis实验一、MyBatis入门程序1.创建工程2.引入相关依赖3.数据库准备4.编写数据库连接信息配置文件5.创建POJO实体6.编写核心配置文件和映射文件 二、MyBatis案例&#xff1a;员工管理系统1.在mybatis数据库中创建employee表2.创建持久化类Employee…...

【UE Niagara 网格体粒子系列】02-自定义网格

目录 步骤 一、创建自定义网格体 二、创建Niagara系统 步骤 一、创建自定义网格体 1. 打开Blender&#xff0c;按下ShiftA来创建一个平面 将该平面旋转90 导出为fbx 设置导出选定的物体&#xff0c;这里命名为“SM_PlaneFaceCamera.fbx” 按H隐藏刚才创建的平面&#x…...

k8s 检测node节点内存使用率平衡调度脚本 —— 筑梦之路

直接上脚本&#xff1a; #! /bin/bash#对实际使用内存大于85%的机器停止调度&#xff0c;对实际使用内存小于70%的 关闭调度# 获取实际内存小于或等于70%的机器 memory_lt_70kubectl top nodes |awk NR>1{if($50<70) print $1} # 获取实际内存大于或等于85%的机器 memor…...

React Native集成到现有原生应用

本篇文章以MacOS环境开发iOS平台为例&#xff0c;记录一下在原生APP基础上集成React Native React Native中文网 详细介绍了搭建环境和集成RN的步骤。 环境搭建 必须安装的依赖有&#xff1a;Node、Watchman、Xcode 和 CocoaPods。 安装Homebrew Homebrew是一款Mac OS平台下…...

完全卸载grafana

先停掉grafana sudo systemctl stop grafana-server 查看要卸载的包的名字 yum list installed yum remove grafana-enterprise.x86_64 成功 删除grafana的数据目录 sudo rm -rf /etc/grafana/sudo rm -rf /usr/share/grafana/sudo rm -rf /var/lib/grafana/...

Vue2.组件通信

样式冲突 写在组件中的样式默认会全局生效。容易造成多个组件之间的样式冲突问题。 可以给组件加上scoped属性&#xff0c;让样式只作用于当前组件。 原理&#xff1a; 给当前组件模板的所有元素&#xff0c;加上一个自定义属性data-v-hash值&#xff0c;用以区分不同的组件。…...

CAS的超~详细介绍

什么是CAS CAS全称Compare and swap,是一种比较特殊的CPU指令. 字面意思:"比较并交换", 一个CAS涉及到以下操作: 我们假设内存中的原数据为V,旧的预期值A,需要修改的新值B. 1.比较A和V是否相等(比较) 2.如果相等,将B写入V.(交换) 3.返回操作是否成功. 伪代码 下面…...

Scott用户数据表的分析

Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 如果想要知道某个用户所有的数据表: select * from tab; 此时结果中一共返回了四张数据表&#xff0c;分别为部门表&#xff08;dept&#xff09; &#xff0c;员工表&#xff08;emp&a…...

网络基础学习(3):交换机

1.交换机结构 &#xff08;1&#xff09;网线接口和后面的电路部分加在一起称为一个端口&#xff0c;也就是说交换机的一个端口就相当于计算机上的一块网卡。 如果在计算机上安装多个网卡&#xff0c;并让网卡接收所有网络包&#xff0c;再安装具备交换机功能的软件&#xff0…...

【软件测试学习笔记2】用例设计方法

1.能对穷举场景设计测试点&#xff08;等价法&#xff09; 等价类&#xff1a; 说明&#xff1a;在所有测试数据中&#xff0c;具有某种共同特征的数据集合进行划分 分类&#xff1a;有效等价类&#xff1a;满足需求的数据集合 无效等价类&#xff1a;不满足需求的数据集合 步…...

蓝桥杯 第三场 小白入门赛

召唤神坤 有意思&#x1f914;&#xff08;ikun&#xff09;。虽然是第一题但也要配得上神坤的身份。 思路1 枚举分母&#xff0c;选择一个数据结构来选出分母两侧最大的两个数做分子。2s常数大些也无碍。我选择好写的ST表 思路2 写两个 d p dp dp 分别表示 1 1 1 到 i…...

网络安全等级保护测评规划与设计

笔者单位网络结构日益复杂&#xff0c;应用不断增多&#xff0c;使信息系统面临更多的风险。同时&#xff0c;网络攻防技术发展迅速&#xff0c;攻击的技术门槛随着自动化攻击工具的应用也在不断降低&#xff0c;勒索病毒等未知威胁也开始泛滥。基于此&#xff0c;笔者单位拟进…...

Error: Cannot find module ‘vue-template-compiler‘ 问题解决

启动Vuepress项目时报了如下错误&#xff1a;Error: Cannot find module vue-template-compiler Error: Cannot find module vue-template-compiler Require stack: - /usr/local/lib/node_modules/vuepress/node_modules/vue-loader/lib/compiler.js - /usr/local/lib/node_…...

华为认证云计算专家(HCIE-Cloud Computing)--练习题

华为认证云计算专家&#xff08;HCIE-Cloud Computing&#xff09;–练习题 1.(判断题)华为云stack支持鲲鹏架构&#xff0c;业务可从X86过渡到鲲鹏。 正确答案&#xff1a;正确 2.(判断题)业务上云以后&#xff0c;安全方面由云服务商负责&#xff0c;客户自己不需要做任何防…...

【MATLAB】【数字信号处理】产生系统的单位冲激响应h(t)与H(z)零极点分布

一、实验目的与要求 产生h(t) 与H(z) 零极点分布 二、实验仪器 微机&#xff0c;仿真软件MATLAB 2022a 三、实验内容与测试结果 1.已知描述连续系统的微分方程为y(t)5y(t)6y(t)2x(t)8x(t) &#xff0c;计算系统的单位冲激响应h(t) 程序如下&#xff1a; clear all; ts0;…...

实验五:动态路由配置

实验五&#xff1a;动态路由配置 1.RIP 配置 【实验名称】 RIP 路由协议配置 【实验目的】掌握路由器 RIP 路由协议的基本配置 【实验设备】路由器&#xff08; 2 台&#xff09;、计算机&#xff08; 2 台&#xff09;、配置电缆&#xff08; 1 根&#xff09;、 V…...

苍穹外卖学习----出错记录

1.微信开发者工具遇到的问题&#xff1a; 1.1appid消失报错&#xff1a; {errMsg: login:fail 系统错误,错误码:41002,appid missing [20240112 16:44:02][undefined]} 1.2解决方式&#xff1a; appid可在微信开发者官网 登录账号后在开发栏 找到 复制后按以下步骤粘贴即…...

如何实现图片压缩

文章目录 1、canvas实现图片压缩2、其他 1、canvas实现图片压缩 canvas 实现图片压缩&#xff0c;主要是使用 canvas 的drawImage 方法 具体思路 拿到用户上传的文件转成base64创建一个 Image&#xff0c;主要是获取到这个图片的宽度和高度创建一个 2D 的画布&#xff0c;画布…...

告别人工规则:用MAPPO+自适应环境生成器,手把手教你训练能应对未知障碍物的无人机协同追捕AI

从零构建自适应无人机追捕系统&#xff1a;MAPPO与AEG的深度实践指南 无人机集群协同追捕一直是多智能体强化学习&#xff08;MARL&#xff09;领域最具挑战性的课题之一。想象一下&#xff0c;当三架无人机需要在充满随机障碍物的仓库中围堵一个速度更快的目标时&#xff0c;传…...

20-基于模型预测控制的海洋机器人协同路径跟踪控制:多智能体一致性及事件触发通信(ETC)的M...

20-基于模型预测控制和事件触发通信受限的海洋机器人协同路径跟踪控制 多智能体协同编队控制 一致性 事件触发通信&#xff08;ETC&#xff09; Matlab仿真代码 代码运行需Casadi工具包&#xff0c;随代码发出海洋机器人编队控制这事儿&#xff0c;说难不难说简单也不简单。传统…...

宿舍神器:用OpenWrt+Minieap打造校园网多设备共享路由器(附锐捷认证避坑指南)

校园网共享路由器实战&#xff1a;OpenWrt与Minieap的高效配置指南 为什么我们需要校园网共享方案 每到新学期开始&#xff0c;宿舍里的网络问题总是让人头疼。学校提供的校园网通常只允许单设备登录&#xff0c;这意味着你的手机、平板、笔记本无法同时在线。更糟糕的是&#…...

【技术综述】多任务学习中的特征共享机制与优化策略

1. 多任务学习的特征共享机制揭秘 第一次接触多任务学习时&#xff0c;我就像发现了一个神奇的"瑞士军刀"——一个模型居然能同时完成多个任务&#xff01;但真正用起来才发现&#xff0c;这个工具的精髓在于如何让不同任务"和谐共处"。最核心的问题就是&a…...

BLE 4.0传输速度翻倍秘籍:实战调整连接参数与写入策略

BLE 4.0传输速度翻倍秘籍&#xff1a;实战调整连接参数与写入策略 在物联网设备开发中&#xff0c;BLE 4.0协议因其低功耗特性被广泛应用&#xff0c;但默认配置下的传输速度往往难以满足固件升级、实时医疗监测等高数据量场景的需求。本文将深入解析如何通过优化连接参数和写入…...

MaxViT多轴注意力机制详解:从理论到PyTorch实现

1. MaxViT多轴注意力机制的核心思想 第一次看到MaxViT论文时&#xff0c;我被它优雅的设计思路惊艳到了。这个由Google Research团队发表在ECCV 2022上的工作&#xff0c;完美解决了传统视觉Transformer在处理高分辨率图像时的计算瓶颈问题。 想象一下你在看一幅画&#xff1a;…...

Nginx+ModSecurity实战:5步搭建企业级WAF防护(附规则调优技巧)

NginxModSecurity实战&#xff1a;5步搭建企业级WAF防护&#xff08;附规则调优技巧&#xff09; 1. 企业级WAF的核心价值与选型决策 在数字化业务高速发展的今天&#xff0c;Web应用防火墙(WAF)已成为企业安全架构中不可或缺的防线。根据Verizon《2023年数据泄露调查报告》&am…...

星露谷物语无头服务器搭建:从零到一构建专属联机农场

1. 为什么需要无头服务器&#xff1f; 很多星露谷物语玩家都遇到过这样的困扰&#xff1a;想和朋友联机种田&#xff0c;但Steam联机经常卡顿&#xff0c;主机玩家下线后其他人就没法继续游戏。这时候&#xff0c;一个24小时在线的专属服务器就显得尤为重要。无头服务器&#…...

java毕业设计基于springboot网上问卷调查系统-编号:project25765

前言 随着互联网的快速发展&#xff0c;人们对于在线服务的需求越来越高&#xff0c;这促使了各种在线调查系统的蓬勃发展。其中&#xff0c;在线问卷调查系统因其操作简便、数据统计快速、受访者覆盖范围广等特点&#xff0c;逐渐成为一种主流的调查方式。传统的问卷调查方式由…...

腾讯AI Lab的WebVoyager如何像真人一样浏览网页?多模态Agent实战解析

腾讯AI Lab的WebVoyager如何像真人一样浏览网页&#xff1f;多模态Agent实战解析 当你在亚马逊搜索商品时&#xff0c;是否想过背后可能是一个AI在替你完成比价、筛选和下单的全流程&#xff1f;腾讯AI Lab最新开源的WebVoyager项目&#xff0c;正将这种想象变为现实。这个能像…...