在 VSCode 中搭建 React × TypeScript 的开发环境
我会将其作为备忘录留下来。
如标题所示,是关于开发环境的搭建。
説明バージョンOSWindows10ターミナルUbuntu 22.04.2 LTS (WSL2)nvm0.39.3npm9.5.1nodev18.16.0
首先创建一个项目,可以边聊天边制作模板。非常简单。
输入npm create vite@latest,然后确定项目名称,选择”React”,并选择”TypeScript + SWC”。
$ npm create vite@latest
✔ Project name: … sample-app
✔ Select a framework: › React
✔ Select a variant: › TypeScript + SWC
为了确认项目是否能够正常创建,只需按照控制台的输出进行目录导航、安装和启动服务器,并通过浏览器进行确认。
$ cd sample-app
$ npm install
$ npm run dev
更漂亮,安装eslint
$ npm i -D prettier
$ npm i -D eslint
设定
$ npm init @eslint/config
// To check syntax and find problems
✔ How would you like to use ESLint? · problems
// JavaScript modules (import/export)
✔ What type of modules does your project use? · esm
// react
✔ Which framework does your project use? · react
// Yes
✔ Does your project use TypeScript? · No / Yes
✔ Where does your code run? · browser
✔ What format do you want your config file to be in? · JSON
The config that you've selected requires the following dependencies:
@typescript-eslint/eslint-plugin@latest eslint-plugin-react@latest @typescript-eslint/parser@latest
✔ Would you like to install them now? · No / Yes
✔ Which package manager do you want to use? · npm
请根据您自己的喜好进行设置。
在项目中创建三个配置文件。
目前是像这样的。
sampe-app
├── .vscode
│ ├── extension.json
│ └── setting.json
└── .prettier.json
{
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"streetsidesoftware.code-spell-checker",
"shardulm94.trailing-spaces"
]
}
{
"editor.formatOnSave": true,
"files.trimFinalNewlines": true,
"files.trimTrailingWhitespace": true,
"editor.tabSize": 2
}
{
"printWidth": 100,
"tabWidth": 2,
"useTab": true,
"semi": true,
"singleQuote": true,
"bracketSpacing": true,
"arrowParens": "always",
"endOfLine": "lf"
}
只要进行到这一步设置,文件保存时会自动询问格式(非常方便)。
引入 react-router-dom。
$ npm i react-router-dom
$ npm install
我喜欢创建一个可以整合路由设置的组件。这是一个示例。
import { BrowserRouter, Routes, Route } from "react-router-dom";
import Top from "./Top";
import Help from "./Help";
import Login from "./Login";
const RoutingSetting = () => {
return (
<BrowserRouter>
<Routes>
<Route path="/" element={<Top />} />
<Route path="/help" element={<Help />} />
<Route path="/login" element={<Login />} />
</Routes>
</BrowserRouter>
);
};
export default RoutingSetting;
我会将路由总结如下,你只需将其添加到App.tsx中即可实现路由功能。请随意添加每个组件。
import RouterSetting from "./RoutingSetting";
function App() {
return (
<>
<RouterSetting />
</>
);
}
export default App;
以上就是。