T4 App 项目教程
1. 项目的目录结构及介绍
T4 App 项目的目录结构如下:
t4-app/
├── .github/
│ └── workflows/
├── .vscode/
├── app/
│ ├── assets/
│ ├── components/
│ ├── constants/
│ ├── context/
│ ├── hooks/
│ ├── navigation/
│ ├── screens/
│ ├── services/
│ ├── theme/
│ ├── utils/
│ └── App.tsx
├── config/
│ └── biome.json
├── scripts/
├── server/
│ ├── api/
│ ├── db/
│ ├── middleware/
│ ├── services/
│ └── index.ts
├── .env
├── .gitignore
├── .prettierrc
├── .eslintrc.json
├── babel.config.js
├── package.json
├── tsconfig.json
└── README.md
目录结构介绍
- .github/workflows: GitHub Actions 的工作流配置文件。
- .vscode: Visual Studio Code 的配置文件。
- app: 应用的主要代码目录,包含组件、屏幕、导航等。
- assets: 静态资源文件,如图片、字体等。
- components: 可重用的 React 组件。
- constants: 常量定义。
- context: React Context API 相关文件。
- hooks: 自定义 React Hooks。
- navigation: 导航相关配置和组件。
- screens: 应用的各个屏幕组件。
- services: 服务层代码,如 API 请求等。
- theme: 应用的主题配置。
- utils: 工具函数和辅助类。
- App.tsx: 应用的入口文件。
- config: 配置文件目录,如 Biome 配置文件。
- scripts: 脚本文件目录,如数据库迁移脚本。
- server: 后端服务代码目录,包含 API、数据库、中间件等。
- .env: 环境变量配置文件。
- .gitignore: Git 忽略文件配置。
- .prettierrc: Prettier 代码格式化配置。
- .eslintrc.json: ESLint 代码检查配置。
- babel.config.js: Babel 配置文件。
- package.json: 项目依赖和脚本配置。
- tsconfig.json: TypeScript 配置文件。
- README.md: 项目说明文档。
2. 项目的启动文件介绍
项目的启动文件是 app/App.tsx
,它是应用的入口文件,负责初始化应用并设置导航。
import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { MainNavigator } from './navigation/MainNavigator';
const App = () => {
return (
<NavigationContainer>
<MainNavigator />
</NavigationContainer>
);
};
export default App;
启动文件介绍
- NavigationContainer: 导航容器的根组件,管理应用的导航状态。
- MainNavigator: 主导航器组件,定义应用的导航结构。
3. 项目的配置文件介绍
.env
环境变量配置文件,用于存储敏感信息和配置项。
API_URL=https://api.example.com
DATABASE_URL=postgres://user:password@localhost:5432/dbname
biome.json
Biome 配置文件,用于代码格式化和一致性检查。
{
"formatter": {
"enabled": true,
"lineWidth": 80,
"indentStyle": "space",
"indentWidth": 2
},
"linter": {
"enabled": true,
"rules": {
"recommended": true
}
}
}
package.json
项目依赖和脚本配置文件。
{
"name": "t4-app",
"version": "1.0.0",
"scripts": {
"start": "expo start",
"build": "expo build