React搭建Vite项目及各种项目配置

 1. 创建Vite项目

在操作系统的命令终端,输入以下命令:

yarn create vite

 输入完成以后输入项目名称、选择开发框架,选择开发语言,如下图所示,即可完成项目创建。

注意事项:

1. Node版本必须符合要求,否则安装过程中会提示版本不对;

2. 由于上面是使用的yarn来安装的,所以需要首先通过npm来全局安装yarn;

项目创建成功以后通过以下命令安装依赖:

yanr install --save

然后通过以下命令启动项目:

yarn dev

启动成功后就可以通过生成的访问地址在浏览器里访问了。

项目在安装依赖过程中要是特别慢的话,可以修改镜象源。

要是通过npm安装的话,只需要通过将上面命令中的yarn换成npm即可。

上面的是全局修改镜象源,要是只想针对这个项目修改镜象源的话,可以在项目的根目录下添加配置文件,yarn安装添加.yarnrc文件,npm安装添加.npmrc文件,编辑文件内容如下:

registry "https://registry.npm.taobao.org"

如果项目后续安装依赖比较多,或是有微服务开发建议使用pnpm来安装。

2. 编辑器配置

为了保证不同的开发者在不同编辑器上开发同一个项目编辑格式一样的,我们需要在在项目的根目录下创建一个叫.editorconfig的文件,注意前面有个点。

上面图片中的配置内容如下,方便大家复制粘贴。

# https://editorconfig.org       # 文件官方网站
root = true   					 # 根目录的文件[*]								 # 针对文件范围
charset = utf-8					 # 文件字符格式
indent_style = tab		         # 行头缩进类型
indent_size = 4					 # 行头缩进大小
end_of_line = lf                 # 结尾换行标志
insert_final_newline = true      # 结尾插入新行
trim_trailing_whitespace = true  # 修剪尾随空格

需要注意的时,在Webstorm中会自动读取配置文件,而VS Code编辑器里面,需要安装以下插件才可以读取配置文件。

3. 格式化配置 

为了代码风格整体保持一致,需要安装格式化代码工具,安装命令如下:

yarn add prettier -D

如下图所示,即为安装成功。

在根目录下创建配置文件.prettierrc.cjs,添加配置代码。

module.exports = {// 每行最多的列printWidth:120,// 用制表符缩进useTabs:false,// 行头缩进宽度tabWidth:4,// 结尾是否分号semi:false,// 是否用单引号singleQuote:true,// JSX中单引号jsxSingleQuote:true,// 箭头函数括号arrowParens:'avoid',// 符号文字空格bracketSpacing:true,// 是否尾随逗号trailingComma:'none'}

为了实现保存时自动格式化,同时需要安装如下插件。

为了让格式化不会影响到编辑里所有的项目,可以针对当前项目添加一个专门的格式化配置。

在项目的根目录下添加一个叫.vscode的文件夹,文件夹里新建一个叫setting.json的文件,添加代码如下:

以下是上图中的代码,便于大家复制粘贴。

{"editor.defaultFormatter": "esbenp.prettier-vscode","editor.formatOnSave": true,"editor.codeActionsOnSave": {"source.fixAll": true}
}

4. 语法校验配置

ESLint主要是为了解决代码质量问题,它能在我们编写代码时就检测出程序可能出现的隐性Bug。

首先执行安装命令:

yarn add eslint -D

 安装完成后,执行以下命令初始化:

yarn eslint --init

以下为初始化过程,相关选项可供参考。

执行完以上步骤以后,在根目录下会生成名为.eslintrc.cjs的文件,我们可以在里面加一些自定义的规则,其内容如下:

module.exports = {root: true,env: { browser: false, es2020: true },extends: [// ESLint推荐配置"eslint:recommended",// TS推荐的配置"plugin:@typescript-eslint/recommended",// React推荐的配置"plugin:react-hooks/recommended",],ignorePatterns: ["dist", ".eslintrc.cjs"],parser: "@typescript-eslint/parser",plugins: ["react-refresh"],rules: {"react-refresh/only-export-components": ["warn",{ allowConstantExport: true },],// * "off" 或 0    ==>  关闭规则// * "warn" 或 1   ==>  打开的规则作为警告,不影响代码执行// * "error" 或 2  ==>  规则作为一个错误,代码不能执行,界面报错// 以下为自定义规则'react/react-in-jsx-scope': 'off',  // 关闭JSX必须声明React'no-console': 'error',              // 禁止控制台输出'no-unused-vars': 'error',          // 禁止定义未使用变量'no-debugger': 'error',             // 禁止控制台调试'no-var': 'error',                  // 禁止声明全局变量},
};

记得将以上第3行代码中的默认为浏览器环境改为false,否则有些文件里的node语法会报错。

5. 脚手架Vite配置 

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path'export default defineConfig({// 配置服务代理server: {host: 'localhost',port: 8080,proxy: {'/api': 'http://api-driver.marsview.cc'}},resolve: {// 添加路径别名alias: {'@': path.resolve(__dirname, './src')}},plugins: [react()]
})

以上代码中只添加了两个常用的配置 ,更多的配置可以查看Vite官网。

Vite官网:https://vitejs.dev/config/

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在VMware创建Ubuntu24

目录 一、创建虚拟机 1. 自定义创建虚拟机 2. 设置虚拟机兼容 3. 选择镜像 4. 命名虚拟机,选择存放位置 5. 处理器配置 6. 内存配置 7. 网络类型配置 8. I/O控制器类型 9. 磁盘配置 10. 完成虚拟机创建 二、Ubuntu安装 1. 进入虚拟机中进行ubuntu的安…

20240724----安装git和配置git的环境变量/如何用命令git项目到本地idea

备注参考博客: 1)可以参考博客,用git把项目git到本地 2)可以参考博客vcs没有git 3)git版本更新,覆盖安装 (一)安装git (1)官网下载的链接 https://git-scm.com/downlo…

go-kratos 学习笔记(7) 服务发现服务间通信grpc调用

服务发现 Registry 接口分为两个,Registrar 为实例注册和反注册,Discovery 为服务实例列表获取 创建一个 Discoverer 服务间的通信使用的grpc,放到data层,实现的是从uses服务调用orders服务 app/users/internal/data.go 加入 New…

数据结构(2)

文章目录 1. 线性表的顺序表示2. 线性表的链式表示 1. 线性表的顺序表示 1. 线性表是具有相同数据类型的 n n n 个数据元素的有限序列,其中 n n n 为表长。 2. 线性表的顺序存储又称顺序表。它是用一组地址连续的存储单元依次存储线性表中的数据元素,从…

如何改桥接模式

桥接模式主要是解决 路由功能的 因为NAT多层 主要是网络连接数太多时 然后路由器要好 不然光猫 比差路由要强的 光猫 请注意,对光猫的任何设置进行修改前,请一定要备份光猫的配置文件,并在每次修改前都截图保存原始设置信息!不要…

【建议收藏】CTF网络安全夺旗赛刷题指南(非常详细)零基础入门到精通,收藏这一篇就够了

在数字化浪潮汹涌澎湃的今天,网络安全已成为国家、企业和个人无法忽视的重要议题。为了挖掘和培养网络安全人才,一场场紧张刺激、充满智慧的CTF(Capture The Flag)安全竞赛应运而生。 一、CTF安全竞赛简介 CTF安全竞赛&#xff0c…

【初阶数据结构篇】单链表的实现(赋源码)

文章目录 单链表的实现代码位置概念与结构概念:结构: 链表的性质链表的分类单链表的实现单链表的创建和打印及销毁单链表的创建单链表的打印单链表的销毁 单链表的插入单链表头插单链表尾插单链表在指定位置之前插入数据单链表在指定位置之后插入数据 单…

RK3568 Linux 平台开发系列讲解(内核入门篇):如何高效地阅读 Linux 内核设备驱动

在嵌入式 Linux 开发中,设备驱动是实现操作系统与硬件之间交互的关键。对于 RK3568 这样的平台,理解和阅读 Linux 内核中的设备驱动程序至关重要。 1. 理解内核架构 在阅读设备驱动之前,首先要了解 Linux 内核的基本架构。内核主要由以下几个部分组成: 内核核心:处理系…

【Django】在vscode中运行调试Django项目(命令及图形方式)

文章目录 命令方式图形方式默认8000端口设置自定义端口 命令方式 python manage.py runserver图形方式 默认8000端口 设置自定义端口

Python学习笔记44:游戏篇之外星人入侵(五)

前言 上一篇文章中,我们成功的设置好了游戏窗口的背景颜色,并且在窗口底部中间位置将飞船加载出来了。 今天,我们将通过代码让飞船移动。 移动飞船 想要移动飞船,先要明白飞船位置变化的本质是什么。 通过上一篇文章&#xff0…

Live555源码阅读笔记:哈希表的实现(C++)

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

数据倾斜优化思路实践

数据倾斜,顾名思义,就是在计算过程中数据分散度不够,导致某个节点数据过于集中,从而导致任务执行效率大大降低。参照对比下MR的整体流程和ODPS,整体结合理解数据倾斜发生的几个生命周期的节点,如下图&#…

Stable Diffusion绘画 | 新手必备知识点(一)

模型 模型分为 大模型 Checkpoint 、 Lora模型 以及 其他模型。 大模型是生成图片的基石,选择怎样的大模型,会直接影响图片最终生成的风格。 大模型 大模型又分为 普通模型 以及 SDXL模型,包括: 真实风二次元2.5D 普通模型&…

[C#]调用本地摄像头录制视频并保存

AForge.NET是一个基于C#框架设计的开源计算机视觉和人工智能库,专为开发者和研究者设计。它提供了丰富的图像处理和视频处理算法、机器学习和神经网络模型,具有高效、易用、稳定等特点。AForge库由多个组件模块组成,包括AForge.Imaging&#…

Datawhale AI 夏令营——AI+逻辑推理——Task1

# Datawhale AI 夏令营 夏令营手册:从零入门 AI 逻辑推理 比赛:第二届世界科学智能大赛逻辑推理赛道:复杂推理能力评估 代码运行平台:魔搭社区 比赛任务 本次比赛提供基于自然语言的逻辑推理问题,涉及多样的场景&…

大数据——Hive原理

摘要 Apache Hive 是一个基于 Hadoop 分布式文件系统 (HDFS) 的数据仓库软件项目,专为存储和处理大规模数据集而设计。它提供类似 SQL 的查询语言 HiveQL,使用户能够轻松编写复杂的查询和分析任务,而无需深入了解 Hadoop 的底层实现。 Hive…

Android TabLayout的简单用法

TabLayout 注意这里添加tab,使用binding.tabLayout.newTab()进行创建 private fun initTabs() {val tab binding.tabLayout.newTab()tab.text "模板库"binding.tabLayout.addTab(tab)binding.tabLayout.addOnTabSelectedListener(object : TabLayout.On…

day3 测试基础知识

1. 你认为性能测试的目的是什么?做好性能测试的工作的关键是什么? 性能测试工作的目的是检查系统是否满足在需求说明书中规定的性能,性能测试常常需要和强度测试结合起来,并常常要求同时进行软件和硬件的检测。 性能测试主要的关…

MySQL中实现动态表单中JSON元素精准匹配的方法

目录 前言 一、动态表单技术 1、包含的主要信息 2、元素属性设置 3、表单内容 二、表单数据存储和查询 1、数据存储 2、数据的查询 3、在5.7版本中进行JSON检索 4、8.0后的优化查询 三、总结 前言 在很多有工作流设置的地方、比如需要在不同的流程中,需要…

【初阶数据结构篇】顺序表的实现(赋源码)

文章目录 本篇代码位置顺序表和链表1.线性表2.顺序表2.1 概念与结构2.2分类2.2.1 静态顺序表2.2.2 动态顺序表 2.3 动态顺序表的实现2.3.1动态顺序表的初始化和销毁及打印2.3.2动态顺序表的插入动态顺序表的尾插动态顺序表的头插动态顺序表的在指定位置插入数据 2.3.3动态顺序表…