vite+react+ts+scss 创建项目

npm create vite@latest
  • 输入项目名称
  • 选择react
  • 选择typescript + swc

WC 通过利用 Rust 编写的编译器,使用了更先进的优化技术,使得它在处理 TypeScript 代码时能够更快地进行转换和编译。特别是在大型项目中,SWC 相对于传统的 TypeScript 编译器有着更快的性能,特别是在启动项目和进行热模块更新时。

建议关闭严格模式,因为不能自动检测副作用,有意双重调用。将严格模式注释即可。

配置 scss

npm install sass

将项目初始化时的index.css文件,修改为.sass后缀后即可书写sass代码。

vite.config.ts中注册全局样式

css: {
		// 全局配置scss
		preprocessorOptions: {
			scss: {
				additionalData: '@import"./src/assets/style/main.scss";'
			}
		}
	},

配置路径别名

npm i @types/node --save-dev

配置在vite.config.ts中引入path

import { defineConfig } from "vite"
import react from "@vitejs/plugin-react-swc"
import { resolve } from "path"

export default defineConfig({
  plugins: [react()],
  // 配置路径别名
  resolve: {
    alias: {
      "@": resolve(__dirname, "src"),
    },
  },
})

此时@已经可以正确读取src目录,但是输入@后,并未出现提示,需要在tsconfig.json文件中声明路径

VScode中

ES7+ React/Redux/React-Native snippets 安装这个插件

. Auto Rename Tag

插件简介:

当你修改HTML/JSX标签时,这个插件会自动帮你更改匹配的开始/结束标签。

Auto Import - ES6, TS, JSX, TSX

配置Antd

npm install antd --save

下载icon

// npm
npm install @ant-design/icons --save
// yarn
yarn add @ant-design/icons
// pnpm
pnpm install @ant-design/icons --save
  1. 国际化

    import ReactDOM from "react-dom/client"
    import App from "./App.tsx"
    import "./index.scss"
    // antd部分
    import { ConfigProvider } from "antd"
    import "dayjs/locale/zh-cn"
    import zhCN from "antd/locale/zh_CN"

    ReactDOM.createRoot(document.getElementById("root")!).render(
    <ConfigProvider locale={zhCN}>
    <App />
    </ConfigProvider>
    )

这样操作又有些麻烦,每次使用组件我都要去引用一次,这里推荐一个插件可以按需引入

yarn add vite-plugin-imp

安装路由

npm i -S react-router-dom    安装指令

引入组件
import { Link,Route,Switch,NavLink } from 'react-router-dom'

Router: HashRouter和BrowserRouter

​ HashRouter: 使用URL的哈希值实现 (localhost:3000/#/first)

​ BrowserRouter:使用H5的history API实现(localhost3000/first)

Link/NavLink组件:用于指定导航链接(a标签)

​ 最终Link会编译成a标签,而to属性会被编译成 a标签的href属性
Route组件:指定路由展示组件相关信息(组件渲染)

path属性:路由规则,这里需要跟Link组件里面to属性的值一致

component属性:展示的组件

配置请求

npm install axios @types/axios
相关推荐
匹马夕阳3 分钟前
Vue 3中导航守卫(Navigation Guard)结合Axios实现token认证机制
前端·javascript·vue.js
你熬夜了吗?5 分钟前
日历热力图,月度数据可视化图表(日活跃图、格子图)vue组件
前端·vue.js·信息可视化
screct_demo1 小时前
詳細講一下在RN(ReactNative)中,6個比較常用的組件以及詳細的用法
javascript·react native·react.js
桂月二二6 小时前
探索前端开发中的 Web Vitals —— 提升用户体验的关键技术
前端·ux
hunter2062068 小时前
ubuntu向一个pc主机通过web发送数据,pc端通过工具直接查看收到的数据
linux·前端·ubuntu
qzhqbb8 小时前
web服务器 网站部署的架构
服务器·前端·架构
刻刻帝的海角8 小时前
CSS 颜色
前端·css
九酒8 小时前
从UI稿到代码优化,看Trae AI 编辑器如何帮助开发者提效
前端·trae
浪浪山小白兔9 小时前
HTML5 新表单属性详解
前端·html·html5
lee5769 小时前
npm run dev 时直接打开Chrome浏览器
前端·chrome·npm