news 2026/4/20 19:52:06

用create-react-app脚手架创建react项目

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用create-react-app脚手架创建react项目

创建项目

npx create-react-app name --template typescript

1、删掉src下多余的文件

2、可去掉index.tsx中的严格模式

root.render( // - <React.StrictMode> <App /> // - </React.StrictMode> );

3、配置别名(dilanx/craco需安装这个插件)
"react-scripts": "5.*"以上版本执行以下命令:

npm install @craco/craco@alpha -D

"react-scripts": "5.*"以下版本:

npm install @craco/craco -D

然后在项目根目录创建一个craco.config.js用于修改默认配置。

//craco.config.js module.exports = { plugins: [ { plugin: CracoLessPlugin, options: { lessLoaderOptions: { lessOptions: { modifyVars: { '@primary-color': '#1DA57A' }, javascriptEnabled: true, }, }, }, }, ], };

修改tsconfig.json文件

{ "compilerOptions": { "target": "es5", "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, "skipLibCheck": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "strict": true, "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, "jsx": "react-jsx" // + "baseUrl": ".", // + "paths": { // + "@/*": ["src/*"] // + } }, "include": ["src"] }

修改package.json

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

代码规范相关配置

1.集成editorconfig配置
EditorConfig 有助于为不同 IDE 编辑器上处理同一项目的多个开发人员维护一致的编码风格。

在根目录下创建.editorconfig文件

# .editorconfig # http://editorconfig.org root = true [*] # 表示所有文件适用 charset = utf-8 # 设置文件字符集为 utf-8 indent_style = space # 缩进风格(tab | space) indent_size = 2 # 缩进大小 end_of_line = lf # 控制换行类型(lf | cr | crlf) trim_trailing_whitespace = true # 去除行尾的任意空白字符 insert_final_newline = true # 始终在文件末尾插入一个新行 [*.md] # 表示仅 md 文件适用以下规则 max_line_length = off trim_trailing_whitespace = false

2. 使用prettier工具
安装prettier

npm install prettier -D

创建并配置.prettierrc文件

* useTabs:使用tab缩进还是空格缩进,选择false;

* tabWidth:tab是空格的情况下,是几个空格,选择2个;

* printWidth:当行字符的长度,推荐80,也有人喜欢100或者120;

* singleQuote:使用单引号还是双引号,选择true,使用单引号;

* trailingComma:在多行输入的尾逗号是否添加,设置为 `none`,比如对象类型的最后一个属性后面是否加一个,;

* semi:语句末尾是否要加分号,默认值true,选择false表示不加;

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

3.创建.prettierignore忽略文件(指定哪些不见不要格式化)

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

在package.json中配置一个scripts:

"scripts": { + "prettier": "prettier --write ." },

运行npm run prettier

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 13:58:02

【VirtualBox】【启动报错】

报错 VT-x is being used by another hypervisor (VERR_VMX_IN_VMX_ROOT_MODE). VirtualBox cant operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot (VERR_VMX_IN_VMX_ROOT_MODE). 返回 代码: NS_ERROR_FAILURE (0x80004…

作者头像 李华
网站建设 2026/4/19 10:46:34

门店管理系统价格解析:数千元到数十万元,受多重因素影响

当今&#xff0c;零售业数字化进程持续深入&#xff0c;那时门店管理系统已然成为实体商家用以提升运营效率以及优化顾客体验的核心工具。面对市场里琳琅满目的产品&#xff0c;好多商家首先所关心的问题是&#xff1a;一套门店管理系统所需投入的费用是多少&#xff1f;实际上…

作者头像 李华
网站建设 2026/4/18 12:53:06

python基于vue的在线考试试卷批阅系统django flask pycharm

目录技术栈概述核心功能模块关键技术实现开发工具链扩展性设计开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;技术栈概述 Python作为后端开发语言&#xff0c;结合Django或Flask框架构建RE…

作者头像 李华
网站建设 2026/4/18 12:53:21

python基于vue的在线试题库考试系统的设计与实现django flask pycharm

目录 基于Vue与Python的在线试题库考试系统设计与实现 开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 基于Vue与Python的在线试题库考试系统设计与实现 该系统采用前后端分离架构&#xf…

作者头像 李华
网站建设 2026/4/19 13:43:17

python基于vue的演唱会音乐会购票管理系统设计与实现django flask pycharm

目录摘要开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要 演唱会音乐会购票管理系统是一个基于Python后端框架&#xff08;Django或Flask&#xff09;与Vue.js前端框架的现代化Web应用&…

作者头像 李华
网站建设 2026/4/18 8:16:17

Jasminum插件完整教程:3步实现中文文献元数据智能管理

Jasminum插件完整教程&#xff1a;3步实现中文文献元数据智能管理 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件&#xff0c;用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum Jasminum是一个…

作者头像 李华