CRA-TS-Antd 项目教程
1. 项目目录结构及介绍
cra-ts-antd/
├── node_modules/
├── public/
│ ├── index.html
│ └── ...
├── src/
│ ├── assets/
│ ├── components/
│ ├── pages/
│ ├── App.tsx
│ ├── index.tsx
│ └── ...
├── .gitignore
├── package.json
├── tsconfig.json
├── README.md
└── ...
目录结构说明
- node_modules/: 存放项目依赖的第三方库。
- public/: 存放静态资源文件,如
index.html
。 - src/: 项目的源代码目录。
- assets/: 存放静态资源,如图片、字体等。
- components/: 存放React组件。
- pages/: 存放页面组件。
- App.tsx: 项目的根组件。
- index.tsx: 项目的入口文件。
- .gitignore: Git忽略文件配置。
- package.json: 项目依赖和脚本配置。
- tsconfig.json: TypeScript配置文件。
- README.md: 项目说明文档。
2. 项目启动文件介绍
src/index.tsx
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
文件说明
- ReactDOM.render: 将
App
组件渲染到index.html
中的root
元素。 - React.StrictMode: 启用React的严格模式,用于检测潜在问题。
3. 项目配置文件介绍
package.json
{
"name": "cra-ts-antd",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"antd": "^4.16.13",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"typescript": "^4.1.2",
"web-vitals": "^1.0.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
配置说明
- dependencies: 项目依赖的第三方库。
- scripts: 项目启动、构建、测试等命令。
- eslintConfig: ESLint配置。
- browserslist: 指定项目支持的浏览器版本。
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"
},
"include": ["src"]
}
配置说明
- compilerOptions: TypeScript编译器选项。
- target: 指定编译目标为ES5。
- lib: 指定编译时包含的库。
- jsx: 指定JSX的处理方式。
- include: 指定包含的文件或目录。
通过以上配置,项目可以顺利启动、构建和测试。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考