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

用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

http://www.jsqmd.com/news/244663/

相关文章:

  • 【Ubuntu 24.04 安装搜狗输入法完整教程】
  • DLSS状态显示功能终极指南:从入门到精通全解析
  • 太流批了,清理大师
  • 遥控设备MCU低功耗设计全链路方案
  • LIWC-Python终极指南:快速掌握文本情感分析技术
  • 如何给文件批量重命名?超详细文件批量重命名软件使用教程
  • python基于vue校园求职人才招聘管理系统django flask pycharm
  • FlashMLA 加速推理技术
  • python基于vue的在线考试试卷批阅系统django flask pycharm
  • 10个免费写小说软件推荐,一键搞定AI生成小说与大纲!(2026年实测红黑榜)
  • python基于vue的在线试题库考试系统的设计与实现django flask pycharm
  • python基于vue的招聘求职人才库平台django flask pycharm
  • 门店管理系统价格解析:数千元到数十万元,受多重因素影响
  • python基于vue的智慧仓库预警管理系统设计与实现django flask pycharm
  • 办公室照明如何影响效率、健康与能耗?关键参数解析
  • python基于vue的智慧旅游网站设计与实现django flask pycharm
  • 从入门到精通:Windows系统权限维持技术深度剖析​,收藏这篇就够了!
  • 将QtNodes添加到Qt项目中
  • 黑客最常见的10攻击手段及防御方法!每一种都经典且致命!小白入门网络攻防必看!
  • python基于vue的养老院服务推荐系统的设计与实现django flask pycharm
  • python基于vue的医院体检预约信息管理系统django flask pycharm
  • python基于vue的医院门诊处方管理系统django flask pycharm
  • (3)关于UE C++ 编译报错,关于宏 GENERATED_BODY() 的 “ error C4430 : 缺少类型说明符-假定为 int。注意 : C++ 不支持默认 int ”的原因探讨
  • 数字员工是什么?AI销冠系统与AI提效软件系统的应用价值如何?
  • 亲测好用!8个AI论文平台测评,研究生开题报告全攻略
  • 《算法安全自评估报告》的填报与实操(附模板)
  • 《自然·通讯》:纳米TiC复合粉末如何赋予3D打印CoCrNi合金超常低温韧性?
  • Jasminum插件完整教程:3步实现中文文献元数据智能管理
  • 救命神器2026 AI论文工具TOP9:本科生毕业论文救星
  • ue 蓝图定义字符串数组