Introduction
This is a template repo for projects built with react and typescript on the basis of vite.
Features
- Support
React Hooks. - Build on
Vite. Typescriptin use.- Code checking and formatting support.
- Basic components from
antd GraphQLsupport.axiosinstalled.- Route configuration and guarding supported by @syy11cn/config-router.
- Git hooks support.
- Use
yarnfor package management.
Usage
Fork
Fork this repo to your account first.
Rename
Rename the repo using the name of your project.
Clone
Clone the repo to your local folder.
Develop
cd <path-to-your-cloned-repo>
yarn
yarn dev
More Scripts
For more yarn scripts, please refer to package.json
{
"scripts": {
"dev": "vite",
"build": "vite build",
"serve": "vite preview",
"precommit": "lint-staged",
"lint:less": "stylelint --fix \"src/**/*.less\" --syntax less",
"lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx",
"lint:js": "eslint --cache --ext .js,.jsx,.ts,.tsx ./src",
"lint:fix": "eslint --fix --cache --ext .js,.jsx,.ts,.tsx",
"lint:prettier": "prettier --check \"src/**/*\" --end-of-line auto",
"prettier": "prettier -c --write \"src/**/*\""
}
}
Packages
Here are the packages installed (in package.json).
{
"dependencies": {
"react": "^17.0.0",
"react-dom": "^17.0.0"
},
"devDependencies": {
"@apollo/client": "^3.4.16",
"@syy11cn/config-router": "^1.0.5",
"@types/react": "^17.0.33",
"@types/react-dom": "^17.0.10",
"@types/react-router-dom": "^5.3.2",
"@typescript-eslint/eslint-plugin": "^5.2.0",
"@typescript-eslint/parser": "^5.2.0",
"@vitejs/plugin-react": "^1.0.0",
"antd": "^4.16.13",
"axios": "^0.24.0",
"eslint": "^7.10.0",
"eslint-plugin-react": "^7.26.1",
"eslint-plugin-react-hooks": "^4.2.0",
"esprima": "^4.0.1",
"graphql": "^15.0.0",
"husky": "^7.0.4",
"lint-staged": "^11.2.6",
"prettier": "^2.4.1",
"react-router-dom": "^5.3.0",
"stylelint": "^14.0.1",
"stylelint-config-standard": "^23.0.0",
"typescript": "^4.4.4",
"vite": "^2.6.4"
}
}
reactfor building user interfaces.@apollo/clientfor sending gql requests.react-router-domand@syy11cn/config-routerfor route configuration and guarding.typescriptand peer plugins for writing.tsor.tsxfiles inreactproject.esprimafor parsingtypescriptgrammar.vitefor the base build tool.eslint,stylelint,prettierandeditorconfigfor code checking and formatting.huskyandlint-stagedfor git hooks configuration.antdfor basic components.
Folders
src
│ App.css
│ App.tsx
│ favicon.svg
│ index.css
│ logo.svg
│ main.tsx
│
├─apis
├─components
├─routes
│ index.ts
│
├─typings
│ images.ts
│
├─utils
└─views
ErrorPage.tsx
Configuration
Modify the following config files.
.editorconfig.eslintrc.prettierrc.stylelintrctsconfig.jsonvite.config.js
About
Chinese Introduction
CLICK HERE to check the Chinese introduction doc to this repo on Lark.
License
Copyright (c) 2021, Yiyang Sun
