为什么路径别名?
Vite 中的路径别名允许我们在导入模块时使用项目目录的自定义路径。
假设我们正在开发一个 React 项目,在我们的卡片组件中,我们想要导入三个不同的组件来构建我们的卡片。比如说按钮、标题、图像。
我们可以这样写
import Button from '../../components/Button' import Header from '../../components/ui/Header' import Image from '../../components/Image'
目前看起来不错,但想想当我们想要重构或改进我们的组件并且必须导入大约 5 或 6 个以上组件时。然后就开始变得混乱。
import Button from '../../components/Button' import Header from '../../components/ui/Header' import Image from '../../components/Image' import Panel from "../../components/Dashboard/Panel"; import Input from "../../components/Forms/Input"; import Submit from "../../components/Forms/Submit"
这就是路径导入变得有用的地方,它们使我们的导入语句更清晰、更易于管理。使用路径别名,我们上面的内容就变成了
import Button from '@/src/components/Button' import Header from '@/src/components/ui/Header' import Image from '@/src/components/Image'
对于那些不使用自动导入的人,您不需要记住目录与您正在处理的组件有多远。当您需要移动文件或重构项目结构时,它只是简化了代码组织,您无需更新代码库中的大量相对导入路径
向您的项目添加路径别名
首先需要安装React + Vite
pnpm create vite setup-path-alias --template react
接下来,您将进入刚刚创建的项目目录然后运行
cd setup-path-alias pnpm install pnpm run dev
注意:我使用快捷方式使用模板创建Vite应用程序,您可以使用任何您喜欢的其他方法。所以只要你创建应用程序。我也使用了 pnpm,但你可以使用你喜欢的包管理器(npm、yarn、bun...)。
完成后,Vite项目目录如下
├── 公共
├── src/
│ └── 组件/
│ └──HelloWorld.jsx
├── .gitignore
├──index.html
├── package.json
├── README.md
└── vite.config.js
现在转到 vite.config.js 文件,这是文件默认的样子
import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' // https://vitejs.dev/config/ export default defineConfig({ plugins: [react()], })
接下来,我们将安装 Path 模块,我们用它来使用 path.resolve() 方法,这有助于创建绝对路径。
pnpm 我的路径
然后我们将解析 vite.config.js 文件中的路径别名,结果应该如下所示
import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; import path from "path"; // https://vitejs.dev/config/ export default defineConfig({ plugins: [react()], resolve: { alias: { "@": path.resolve(__dirname, "./src"), } }, });
配置 VS Code IntelliSense
为了确保 VS Code 识别您的别名,请在项目根目录中创建或更新 jsconfig.json:
{ "compilerOptions": { "paths": { "@/*": [ "./src/*" ] } } }
然后我们可以更新我们的导入
import Button from '../../components/Button' //to this import Button from '@/src/components/Button'
请注意,我们可以像这样创建路径别名,并解析任意数量的路径,然后更新我们的智能感知。我留下了自己的更简单的东西,因为我的项目很小,默认情况下,src文件夹包含所有项目文件,然后我可以将其指向src,但是当您在代码中多次使用组件文件夹时,您可以添加它路径别名以保持导入干净。再次建议避免过度使用别名:因为虽然它们可以简化导入,但过度使用它们会使您的代码对于新团队成员来说不太直观。对常用、经常访问的目录使用别名。
alias: { '@': path.resolve(__dirname, './src'), '@components': path.resolve(__dirname, './src/components'), },
潜在问题以及如何避免它们
- 循环依赖:使用别名时要小心,以避免创建循环依赖。始终以保持清晰层次结构的方式构建导入。
- 过度使用别名:虽然别名可以简化导入,但过度使用它们可能会使您的代码对于新团队成员来说不太直观。对常用、经常访问的目录使用别名。
- 命名不一致:在整个项目中为别名坚持一致的命名约定。例如,始终使用“@”前缀作为别名路径。
- 忘记更新 jsconfig.json:如果您在 vite.config.js 中添加新别名,请记得更新 jsconfig.json 以维持 IDE 支持。
- 别名冲突:确保您的别名不与 npm 包名称或浏览器全局变量冲突,以避免混淆和潜在错误。
感谢您的阅读
以上是如何设置路径别名 Vite + React的详细内容。更多信息请关注PHP中文网其他相关文章!

JavaScript在现实世界中的应用包括服务器端编程、移动应用开发和物联网控制:1.通过Node.js实现服务器端编程,适用于高并发请求处理。2.通过ReactNative进行移动应用开发,支持跨平台部署。3.通过Johnny-Five库用于物联网设备控制,适用于硬件交互。

我使用您的日常技术工具构建了功能性的多租户SaaS应用程序(一个Edtech应用程序),您可以做同样的事情。 首先,什么是多租户SaaS应用程序? 多租户SaaS应用程序可让您从唱歌中为多个客户提供服务

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库

JavaScript是现代Web开发的核心语言,因其多样性和灵活性而广泛应用。1)前端开发:通过DOM操作和现代框架(如React、Vue.js、Angular)构建动态网页和单页面应用。2)服务器端开发:Node.js利用非阻塞I/O模型处理高并发和实时应用。3)移动和桌面应用开发:通过ReactNative和Electron实现跨平台开发,提高开发效率。

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。 1.Python以简洁语法和丰富库生态着称,适用于数据分析和Web开发。 2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。

JavaScript不需要安装,因为它已内置于现代浏览器中。你只需文本编辑器和浏览器即可开始使用。1)在浏览器环境中,通过标签嵌入HTML文件中运行。2)在Node.js环境中,下载并安装Node.js后,通过命令行运行JavaScript文件。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

记事本++7.3.1
好用且免费的代码编辑器

Dreamweaver Mac版
视觉化网页开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版