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标记
        

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

教程-右键用vscode(新窗口)打开文件或目录

通过本文可以提高效率,用起来更爽更高效。 本文实现了(windows系统): 右键-用vscode(当前窗口)打开文件或目录右键-用vscode-新窗口打开文件或目录 注意: 下面的安装路径要更改为您实际的路径 具体配置步骤&#x…

一键转换,创新无限:将HTML轻松转化为PDF!

在数字时代,HTML与PDF已成为信息传递的两大主流格式。然而,在这两者之间转换常常让人感到困扰。现在,有了我们的创新工具,您只需轻点一下,即可一键将HTML转化为PDF! 首先,我们要进入首助编辑高…

(超详细)3-YOLOV5改进-添加SE注意力机制

1、在yolov5/models下面新建一个SE.py文件,在里面放入下面的代码 代码如下: import numpy as np import torch from torch import nn from torch.nn import initclass SEAttention(nn.Module):def __init__(self, channel512,reduction16):super()._…

羊奶的奶源,解密优质健康的来源

羊奶的奶源,解密优质健康的来源 羊奶一直被视为高品质、健康的乳制品,备受消费者的喜爱。作为一位消费者,你一定也想了解羊奶的奶源,究竟是如何保障了这种优质与健康呢?下面小编羊大师就带大家一同了解一下。 我们需…

Python 爬虫常用的库或工具推荐

在数据驱动的时代,Python爬虫技术以其简单易用、强大灵活的特性成为数据采集的有效手段,越来越多人加入了学习Python的队伍中,今天,我们就为大家推荐一些常用的Python爬虫库和工具,以备不时之需。 1.库 Requests库&am…

抽奖机制模型及算法

抽奖机制 连抽保底概率模型不中概率加大模型(抽卡保底) 抽奖概率为n%,在达到某次次数后,每次概率比上次高m%,直至达到保底次数(概率累加和为100%),当抽到极品道具时候,…

Mac 下载 nvm 后执行nvm -v 命令报错 nvm: command not found

1、问题:Mac 使用命令下载nvm 成功后执行 nvm -v 查看,报错:nvm command not found 2、原因:可能是系统更新后,默认的 shell 是 zsh,所以找不到配置文件 3、解决:可添加编辑.bash_profile 和 …

从无到有制作docker镜像、容器详细步骤

1、编写一个Dockerfile文件,内容如下 # 基础镜像jdk,jdk里包含里操作系统 FROM openjdk:8u282-jdk# 工作目录,也就是容器里目录 WORKDIR /home/prq/# 添加ppp目录下的文件到容器/home/prq/里 ADD ./ppp /home/prq/# 暴露端口8080 EXPOSE 8080# 启动脚本…

vue前端开发自学,组件的嵌套关系demo

vue前端开发自学,组件的嵌套关系demo!今天开始分享的,前端开发经常用到的,组件的嵌套关系案例代码。下面先给大家看看,代码执行效果。 如图,这个是代码执行后,的效果布局! 下面给大家贴出来源码。方便大家…

String有没有最大长度限制?

大家都用过String字符串,有的人可能还不知道它的长度在某些方面是有一些限制。 public String(byte bytes[], int offset, int length);这是java.lang.String中的一个构造函数,可以看到它的长度是int类型,int的最大取值是2^31-1.但是我们却不…

redis 从0到1完整学习 (十七):内存回收之内存淘汰策略

文章目录 1. 引言2. redis 源码下载3. 内存回收策略4. 如何设置内存淘汰策略4.1 在 Redis 配置文件设置(推荐重启后生效)4.2 运行时动态调整 5. 参考 1. 引言 前情提要: 《redis 从0到1完整学习 (一):安装…

【java八股文】之MYSQL基础篇

1、数据库三大范式是什么 第一范式:每个列都不可以再拆分。 第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。 第三范式:在第二范式的基础上,非主键列只依赖于主键&#…