React入门 - 02(工程目录结构解析)

news2024/10/6 14:37:28

本章内容

目录

    • 1 外层“文件”说明
    • 2 各个“文件夹”说明

接着上一节的内容,我们继续这一节的内容–工程目录文件解析。打开上一节已经建好的工程 react-demo,详细的来了解一些里面的文件。

1 外层“文件”说明

在这里插入图片描述

  • .gitignore — 当我们使用 git 的时候,希望把代码传上去,但有些特殊的文件又不想传上去,这个时候我们可以通过在这个文件里面配置,从而实现某些文件在 git 提交的时候被忽略

  • package.json — 用来管理各个“依赖包”。在项目开发过程中,可能会需要引入一些第三方模块的“依赖”,而这些“依赖”统一放在这里进行管理

  • package-lock.json — 这是 package 的“锁文件”。可以帮助我们在安装“第三方包”的具体版本,以便保持团队编程的一致性

  • README.md — 项目说明文件。可以使用一些 markdown 语法来写一些项目说明

2 各个“文件夹”说明

  • node_modules — 这个文件夹用于存放项目的“依赖包”。一般不动里面的代码
    在这里插入图片描述

  • pulic — 放置 HTML模版文件、页面的图标图片等
    ① favicon.icon — 页面图标,即浏览器中页面标签前边的小图标
    ② index.html — 项目的首页 HTML 模版.下面是模版的具体代码及注释说明
    ③ manifest.json — 当你的 web app 用于移动设备或者桌面时,此文件用于定义一些元数据(设置桌面展示图标、对应网址、主题色等),具体说明可见这里
    ④ logo192.png & logo512.png — manifest文件中所用的图标图片
    ⑤ robots.txt — 网站所有者使用 /robots.txt 文件向网络机器人提供有关其网站的说明.即“机器人排除协议”,具体可见这里

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="theme-color" content="#000000" />
    <meta
      name="description"
      content="Web site created using create-react-app"
    />
    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
    <!--
      manifest.json provides metadata used when your web app is installed on a
      user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
    -->
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
    <!--
      Notice the use of %PUBLIC_URL% in the tags above.
      It will be replaced with the URL of the `public` folder during the build.
      Only files inside the `public` folder can be referenced from the HTML.

      Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
      work correctly both with client-side routing and a non-root public URL.
      Learn how to configure a non-root public URL by running `npm run build`.
    -->
    <title>React App</title>
  </head>
  <body>
    <!-- 下边这行代码意思是:
    如果网页把这个 script 给禁掉了,那么需要给用户一个提示说,
    “你应该允许你的网页去解析 JavaScript”。
    这是一段容错的代码,可以使代码的“健壮性”更强。
    -->
    <noscript>You need to enable JavaScript to run this app.</noscript>
    <div id="root"></div>
    <!--
      This HTML file is a template.
      If you open it directly in the browser, you will see an empty page.

      You can add webfonts, meta tags, or analytics to this file.
      The build step will place the bundled scripts into the <body> tag.

      To begin the development, run `npm start` or `yarn start`.
      To create a production bundle, use `npm run build` or `yarn build`.
    -->
  </body>
</html>

在这里插入图片描述

  • src — 源代码所放置的目录。我们开发时,主要是在这里面去编写我们的代码
    ① index.js — 项目的“入口文件”, 下面是代码说明
    ② App.js — App 页面的代码可以在这里写
    ③ App.css — App页面的样式文件。可以根据项目开发需要进行删除或者修改
    ④ App.test.js — 自动化测试文件,可以做一些“自动化测试”。可以根据项目开发需要进行删除或者修改
    ⑤ index.css — 样式文件。可以根据项目开发需要进行删除或者修改
    ⑥ logo.svg — 图标。可以根据项目开发需要进行删除或者修改
    ⑦ reportWebVitals.js — 监测应用程序性能时,记录结果的文件
    ⑧ setupTest.js — jest 的自动化测试文件
// index.js 文件内容

import React from 'react'; // 引入 react
import ReactDOM from 'react-dom/client';// 引入 react-dom 
import './index.css'; // 引入样式文件。在react可以通过这样的方式进行 css和js的分离,然后通过“模块”的方式嵌入到 js中
import App from './App'; // 后边的 ./App 其实是 ./App.js 的缩写。后缀可以省略,因为“脚手架工具”本身就会去当前目录下优先寻找后缀为 .js 的 App 文件并引入
import reportWebVitals from './reportWebVitals';// 测量应用程序中的性能时,用于记录其结果

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
 <React.StrictMode>
   <App />
 </React.StrictMode>
);

// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals(); 

到此,本章内容结束!

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

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

相关文章

统计学习 复习(知识点+习题)

复习资料&#xff1a;https://github.com/RuijieZhu94/StatisticalLearning_USTC 第一章 线性回归 1. From one to two 最小二乘 课后题 有偏/无偏估计 加权最小二乘 2. Regularization 线性回归&#xff08;二维情况&#xff09; 求解有约束优化问题 正则化最小加权二乘…

Web3与环保:区块链如何推动可持续发展

随着气候变化和环境问题日益严峻&#xff0c;社会对可持续发展的需求变得愈发迫切。在这个背景下&#xff0c;Web3技术和区块链崭露头角&#xff0c;成为推动可持续发展的关键力量。本文将深入探讨Web3技术如何与环保理念相结合&#xff0c;引领我们迈向更加可持续的未来。 1. …

Java异常:toString()和getMessage()区别

首先写了两个错误 Controller public class DemoController {RequestMapping("/show1")public String showInfo(){String str null;str.length();return "index";}RequestMapping("/show2")public String showInfo2(){int a 10/0;return &quo…

postman上传文件文件名有黄色图标

问题&#xff1a; 解决方案 步骤一&#xff1a;设置处打开settings 步骤二&#xff1a;打开location&#xff0c;选择文件所在磁盘目录 步骤三&#xff1a;关闭选项框 文件报错问题解决

VS 中调用调试DLL库的方法

前提条件&#xff1a; 1、当前代码是最新的&#xff0c;并且编译成dll的库有程序使用。 2、打开运行dll库的程序。 配置步骤&#xff1a; 1、使用VS打开要调试的dll库项目。 2、点击调试菜单展开调试菜单。 3、点击附加到进程&#xff0c;弹出配置框。 4、在配置框中选…

第十周:CV视觉内容深入(可选)

到这里基本AI需要准备的一些基础内容都已经ready了&#xff0c;我本人是视觉出身&#xff0c;所以还是想走老路子&#xff0c;不花费大量时间去往别的方向走了&#xff0c;所以针对视觉部分的内容我自己会单独拓展补充一些内容&#xff0c;选择性享用即可&#xff0c;欢迎交流&…

使用CLIP和LLM构建多模态RAG系统

在本文中我们将探讨使用开源大型语言多模态模型(Large Language Multi-Modal)构建检索增强生成(RAG)系统。本文的重点是在不依赖LangChain或LLlama index的情况下实现这一目标&#xff0c;这样可以避免更多的框架依赖。 什么是RAG 在人工智能领域&#xff0c;检索增强生成(re…

云端部署与本地部署:哪个最适合您的业务?

云端部署与本地部署&#xff1a;哪个最适合您的业务? 云的广泛采用导致许多供应商将重点从本地解决方案转移到云交付模型&#xff0c;从而引发了一个问题&#xff1a;“哪种方式最适合我的业务?”如果您想知道哪个选项更安全、更方便且更实惠&#xff0c;请探索我们方便的比较…

什么是WhatsApp Business?WhatsApp和WhatsApp Business区别?

什么是WhatsApp Business&#xff1f; WhatsApp Business账号是Meta专为企业设计的WhatsApp账号。不同于消费者层次的应用&#xff0c;WhatsApp Business旨在为企业提供更好的服务支持&#xff0c;方便企业与消费者建立更好的双向沟通渠道。 WhatsApp和WhatsApp Business有什…

CLion、IDEA设置编码为utf-8,防乱码

其实只要是JetBrains的软件都是通用的&#xff0c;下面以IDEA为例 1.设置项目文件编码 2.设置控制台的字符编码

保姆级Arduino开发环境搭建

Arduino&#xff0c;一个易于上手且功能丰富的开源平台&#xff0c;不仅包含了各种型号的Arduino开发板等硬件部分&#xff0c;还囊括了Arduino IDE等软件部分。更重要的是&#xff0c;它还拥有由广大爱好者和专业人员共同搭建和维护的互联网社区和资源&#xff0c;为创客们提供…

C语言经典算法之冒泡排序算法

目录 前言 建议&#xff1a; 简介&#xff1a; 一、代码实现 二、时空复杂度 时间复杂度&#xff1a; 空间复杂度&#xff1a; 总结&#xff1a; 前言 建议&#xff1a; 1.学习算法最重要的是理解算法的每一步&#xff0c;而不是记住算法。 2.建议读者学习算法的时候…

微调您的Embedding模型以最大限度地提高RAG管道中的相关性检索

英文原文地址&#xff1a;https://betterprogramming.pub/fine-tuning-your-embedding-model-to-maximize-relevance-retrieval-in-rag-pipeline-2ea3fa231149 微调您的Embedding模型以最大限度地提高RAG管道中的相关性检索 微调嵌入前后的 NVIDIA SEC 10-K 文件分析 2023 年…

C#灵活控制多线程的状态(开始暂停继续取消)

ManualResetEvent类 ManualResetEvent是一个同步基元&#xff0c;用于在多线程环境中协调线程的执行。它提供了两种状态&#xff1a;终止状态和非终止状态。 在终止状态下&#xff0c;ManualResetEvent允许线程继续执行。而在非终止状态下&#xff0c;ManualResetEvent会阻塞线…

智能助手的巅峰对决:ChatGPT对阵文心一言

在人工智能的世界里&#xff0c;ChatGPT与文心一言都是备受瞩目的明星产品。它们凭借先进的技术和强大的性能&#xff0c;吸引了大量用户的关注。但究竟哪一个在智能回复、语言准确性、知识库丰富度等方面更胜一筹呢&#xff1f;下面就让我们一探究竟。 首先来谈谈智能回复能力…

SwiftUI之深入解析高级布局的实战教程

一、自定义动画 首先实现一个圆形布局的视图容器 WheelLayout&#xff1a; struct ContentView: View {let colors: [Color] [.yellow, .orange, .red, .pink, .purple, .blue, .cyan, .green]var body: some View {WheelLayout(radius: 130.0, rotation: .zero) {ForEach(0.…

强化学习应用(三):基于Q-learning的物流配送路径规划研究(提供Python代码)

一、Q-learning算法简介 Q-learning是一种强化学习算法&#xff0c;用于解决基于马尔可夫决策过程&#xff08;MDP&#xff09;的问题。它通过学习一个值函数来指导智能体在环境中做出决策&#xff0c;以最大化累积奖励。 Q-learning算法的核心思想是使用一个Q值函数来估计每…

纳米量级晶圆表面微观检测技术

持续更新 背景&#xff1a;晶圆表面形状偏差分为&#xff1a;宏观几何误差&#xff0c;中间几何误差&#xff0c;微观几何误差&#xff0c;跟别用表面形状误差&#xff0c;表面波纹度&#xff0c;表面粗度来描述。 主要技术&#xff1a;微分剪切干涩显微技术&#xff0c;五步…

Dubbo分层设计之Transport层

前言 Dubbo 框架采用分层设计&#xff0c;最底下的 Serialize 层负责把对象序列化为字节序列&#xff0c;再经过 Transport 层网络传输到对端。一次 RPC 调用&#xff0c;在 Dubbo 看来其实就是一段请求报文和一段响应报文的传输过程。 理解Transport Transport 层即网络传输…

计算机毕业设计----SSH在线水果商城平台含管理系统

项目介绍 本项目分为前后台&#xff0c;分为普通用户与管理员两个角色&#xff0c;前台为普通用户登录&#xff0c;后台为管理员登录&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登录,修改密码,类别管理,水果管理,订单管理,网站论坛管理,网站公告管理等功能。 …