vite+react+ts+scss 创建项目

news2024/11/26 22:34:46
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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1582415.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

液冷是大模型对算力需求的必然选择?|英伟达 GTC 2024六大亮点

在这个以高性能计算和大模型推动未来通用人工智能时代&#xff0c;算力已成为科技发展的隐形支柱。本文将重点探讨算力的演进&#xff0c;深入分析在不同领域中算力如何成为推动进步的基石&#xff1b;着眼于液冷如何突破算力瓶颈成为引领未来的先锋&#xff0c;对液冷散热的三…

探索RAG:加强问答能力的新技术

文章目录 1. RAG是什么&#xff1f;1.1 技术简介1.2 挑战与解决方案1.3 RAG技术构成1.4 应用与前景 2. RAG架构详解2.1 典型的RAG应用有两个主要组件2.2 从原始数据到答案的完整流程 3. RAG在实际应用中的案例 1. RAG是什么&#xff1f; 1.1 技术简介 Retrieval Augmented Ge…

设计模式学习笔记 - 设计模式与范式 -行为型:9.迭代器模式(上):相比直接遍历集合数据,使用迭代器模式有哪些优势?

概述 上篇文章&#xff0c;我们学习了状态模式。状态模式是状态机的一种实现方式。它通过将事件触发的状态转移和动作执行&#xff0c;拆分到不同的状态类中&#xff0c;以此来避免状态机类中的分支判断逻辑&#xff0c;应对状态机类代码的复杂性。 本章&#xff0c;学习另外…

【千帆平台】百度智能云千帆AppBuilder应用探索益智游戏之猜物小游戏

欢迎来到《小5讲堂》 这是《千帆平台》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 背景AppBuilder控制台创建应用设置应用自动配置随机生成AI生成应…

Elasticsearch 嵌套类型的深度剖析与实例

文章目录 **嵌套类型的原理与特点****嵌套类型的创建与映射定义****嵌套查询与过滤****嵌套聚合****实战应用举例** Elasticsearch 嵌套类型的实例 Elasticsearch 索引中的嵌套类型&#xff08;Nested Types&#xff09;是处理具有层次结构或一对多关系数据的有效工具。它允许在…

电工技术学习笔记——正弦交流电路

一、正弦交流电路 1. 正弦量的向量表示法 向量表示方法&#xff1a;正弦交流电路中&#xff0c;相量表示法是一种常用的方法&#xff0c;用于描述电压、电流及其相位关系。相量表示法将正弦交流信号表示为复数&#xff0c;通过复数的运算来描述电路中各种参数的相互关系 …

墨迹天气联合TopOn搭建创新合作模式,深挖广告流量价值 | TopOn变现案例

日前&#xff0c;墨迹天气与移动广告聚合管理平台TopOn达成合作&#xff0c;开发创新思路&#xff0c;通过搭建高效的合作模式&#xff0c;提升商业化效果广告效率和业务水平&#xff0c;共建新场景。 墨迹天气相关负责人表示&#xff0c;作为国内最早布局天气类应用的厂商之一…

python开发poc,fofa爬虫批量化扫洞

学习使用python做到批量化的漏洞脚本 1.通过fofa搜索结果来采集脚本 2.批量化扫描漏洞 ---glassfish存在任意文件读取在默认48484端口&#xff0c;漏洞验证的poc为: "glassfish" && port"4848" && country"CN" http://loca…

工厂水电能耗监测管理云平台

在当今工业生产中&#xff0c;对水电等能源的有效管控已成为企业降低成本、提升竞争力的关键所在。随着云计算、大数据以及物联网技术的飞速发展&#xff0c;工厂水电能耗监测管理云平台作为一种新型的能源管理解决方案&#xff0c;正受到越来越多企业的青睐。该平台通过云技术…

二维相位解包理论算法和软件【全文翻译- DCT相位解包裹(5.3.2)】

5.3.2 基于 DCT 的方法 在本节中,我们将详细介绍如何通过 DCT 算法解决非加权最小二乘相位解缠问题,而不是通过FFT.我们将使用公式 5.53 所定义的二维余弦变换。我们开发的算法等同于 FFT 方法 2(第 5.3.1 节)。与 FFT 方法 I 等价的 DCT 算法也可以推导出来,但我们将其作…

在Graphcore IPU上加速和扩展时态图网络

Graphcore Bow IPU机器。 一、说明 IPU 是一种全新的大规模并行处理器&#xff0c;与Poplar SDK共同设计&#xff0c;旨在加速机器智能。自第一代 Colossus IPU 以来&#xff0c;我们在芯片和系统架构中的计算、通信和内存方面取得了突破性进展&#xff0c;与 MK1 IPU 相比&…

python批量修改替换cad图纸文本,土木狗可以有

civilpy&#xff1a;python进行AutoCAD绘图的两个库&#xff0c;土木狗可以有3 赞同 0 评论文章​编辑 civilpy&#xff1a;python进行AutoCAD绘图批量打印&#xff0c;土木狗可以有2 赞同 2 评论文章​编辑 # 导入所需库 from pyautocad import Autocad, APoint import ma…

探索 PostgreSQL 的高级数据类型 - 第2部分

Navicat for PostgreSQL 是一套专为PostgreSQL设计的强大数据库管理及开发工具。它可以在PostgreSQL数据库7.5以上的版本中运行&#xff0c;并且支持大部份最新的PostgreSQL功能&#xff0c;包括触发器、函数检索及权限管理等。Navicat的的功能不仅可以满足专业开发人员的所有需…

ElasticSearch入门到掌握(3)完结

文章目录 三、深入 elasticsearch1.数据聚合&#xff08;1&#xff09;聚合的分类&#xff08;2&#xff09;DSL 实现 Bucket 聚合&#xff08;3&#xff09;DSL 实现 Metrics 聚合&#xff08;4&#xff09;RestAPI 实现聚合 2.自动补全&#xff08;1&#xff09;自定义分词器…

学习笔记:解决拖延

1 解决拖延、减轻压力的关键心态和方法 1.1 要点梳理 拖延是因为自己一直在逃避&#xff0c;重点是要有效突破逃避圈&#xff0c;进入学习圈&#xff0c;扩展成长圈。 毒蛇曲线&#xff08;见思维导图&#xff09;中越是临近截止期限&#xff0c;拖延的焦虑越上升&#xff0…

MLeaksFinder报错

1.报错&#xff1a;FBClassStrongLayout.mm 文件&#xff1a;layoutCache[currentClass] ivars; 解决&#xff1a;替换为layoutCache[(id)currentClass] ivars; 2.编译正常但运行时出现crash indirect_symbol_bindings[i] cur->rebinding FBRetainCycleDetector iOS15 …

算法 第36天 贪心5

435 无重叠区间 给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量&#xff0c;使剩余区间互不重叠 。 def eraseOverlapIntervals(intervals:list)->int:if not intervals:return 0intervals.sort(keylambda x:…

ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?

前言 ASP.NET Core 内置的标识&#xff08;identity&#xff09;框架&#xff0c;采用的是 RBAC&#xff08;role-based access control&#xff0c;基于角色的访问控制&#xff09;策略&#xff0c;是一个用于管理用户身份验证、授权和安全性的框架。 它提供了一套工具和库&…

爬虫+RPC+js逆向---直接获取加密值

免责声明:本文仅做技术交流与学习,请勿用于其它违法行为;如果造成不便,请及时联系... 目录 爬虫RPCjs逆向---直接获取加密值 target网址: 抓包 下断点 找到加密函数 分析参数 RPC流程 一坨: 二坨: 运行py,拿到加密值 爬虫RPCjs逆向---直接获取加密值 target网址: 优志…

prometheus expected a valid start token, got “\““ (“INVALID“) while parsing:

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一份大厂面试资料《史上最全大厂面试题》&#xff0c;Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …