理解 JavaScript 中的“ / ”:路径、资源与目录、nginx配置、请求、转义的那些事

理解 JavaScript 中的“ / ”:路径、资源与目录、nginx配置、请求、转义的那些事

目录

理解 JavaScript 中的“ / ”:路径、资源与目录、nginx配置、请求、转义的那些事

一、路径中 / 的含义

1、 / 所扮演的角色

2、根据 URL 中的 / 判断是目录还是资源

3、相对路径 vs 绝对路径

4、相对路径中的 . 与 ..

二、Vue中 / 的特殊作用

1、Vue Router 中的 /

2、Vue 项目构建时的 base 配置

三、SEO 对 / 的敏感性

四、Nginx 中 / 的配置技巧

五、fetch 和 API 请求中的 / 影响

六、正则表达式和字符串中的 / 与转义

七、结语


        作者:watermelo37

        ZEEKLOG万粉博主、华为云云享专家、阿里云专家博主、腾讯云、支付宝合作作者,全平台博客昵称watermelo37。

        一个假装是giser的coder,做不只专注于业务逻辑的前端工程师,Java、Docker、Python、LLM均有涉猎。



---------------------------------------------------------------------

温柔地对待温柔的人,包容的三观就是最大的温柔。

---------------------------------------------------------------------

理解 JavaScript 中的“ / ”:路径、资源与目录、nginx配置、请求、转义的那些事

        Web 开发中你一定见过 / —— 但它的用法可不仅仅是「斜杠」。这篇文章将全面梳理 / 在 JavaScript 和前端开发中的多种应用和语义,从文件路径到 API 请求,从浏览器资源引用到服务器配置,甚至涉及到转义、nginx配置和正则表达式。

一、路径中 / 的含义

1、 / 所扮演的角色

        在浏览器、Node、Vue CLI 中,/ 都表示一种层级关系,常用来分隔目录结构或路由片段:

  • /src/components/Button.vue → 组件文件路径
  • /api/user/info → RESTful API 路径
  • /about → 前端路由路径

2、根据 URL 中的 / 判断是目录还是资源

        浏览器会自动根据 URL 最后是否包含 / 来区分目录或文件资源,关键就在于是不是以 / 结尾,如果是,就代表最后一个路径名是目录名(文件夹名称),如果不是以 / 结尾,就是文件资源。

URL推断

/about/

目录

/about

文件资源(如 html、json)

/images/logo.png

文件资源

        /about/ → 被认为是目录,会尝试寻找 /about/index.html(vue中是寻找 /about/index.vue)

3、相对路径 vs 绝对路径

        一个表格讲清楚:

路径形式示例含义说明
绝对路径

/assets/logo.png

从网站根目录出发寻找资源
相对路径

./img/logo.png

当前文件夹下寻找资源
相对路径

../img/logo.png

当前文件夹的上一级目录下寻找资源

        vue 项目使用绝对路径的时候,/ 一般是从 public 文件夹开始往下,无法通过绝对路径访问src文件夹中的资源(一般用@,但是要配置),因为src下的资源在打包后会重新分配结构,使用绝对路径在生产环境就会失效,所以毫无意义。

4、相对路径中的 . 与 ..

  • .:当前路径(Current Directory)
  • ..:上一级目录(Parent Directory)
<!-- 当前文件在 /pages/about/index.html --> <img src="../../images/banner.jpg"> <!-- 实际路径为 /images/banner.jpg --> <!-- pages与iamges在同一目录下 -->

二、Vue中 / 的特殊作用

1、Vue Router 中的 /

        在Vue Router中,/ 代表根路由,也就是说实际路径为:协议+域名(ip+端口)+ baseUrl + 路由。最后的路由部分就是Vue Router配置的内容,根路由就是路由为 / 。

        此外/about/ 与 /about 默认被视为等价(除非手动设置)

const routes = [ { path: '/', component: Home }, { path: '/about', component: About }, ] 

2、Vue 项目构建时的 base 配置

        这个其实是要根据生产环境下的路由决定的,生产环境下的路由是什么,这里base就设置什么,以此来保证打包部署后的资源能被正确访问。

// vite.config.js export default defineConfig({ base: '/my-app/', // 所有资源前缀会带上这个路径 }) 

三、SEO 对 / 的敏感性

        搜索引擎(如 Google、Baidu)会把下面两个路径视为两个不同的页面

  • /blog
  • /blog/

        所以需要路由统一末尾加 /,或者通过 Nginx 重定向处理一致性,避免 /about 和 /about.html 指向同一页面而无重定向,容易造成 SEO 评分下降。

四、Nginx 中 / 的配置技巧

        proxy_pass 后的 / 会影响转发路径拼接方式,建议保持一致,否则可能造成路径错乱,此时 /api/user 实际会被转发至 http://localhost:3000/user。

        个人建议在nginx中永远在路径和路由后加上 / ,基本不会错。

location /api/ { proxy_pass http://localhost:3000/; } 

五、fetch 和 API 请求中的 / 影响

fetch('/api/user') // 相对根路径 fetch('./api/user') // 相对当前路径(可能出错) fetch('https://example.com/api/user') // 绝对路径 

        Vue 中推荐使用 axios 统一配置:

const instance = axios.create({ baseURL: '/api/', }) 

六、正则表达式和字符串中的 / 与转义

        在 JavaScript 正则表达式中,/ 是定界符,若路径中包含 /,需使用 \/ 进行转义。:

const reg = /\/api\/user/; // 匹配 "/api/user" 

        字符串中的 / 则不需要转义

const url = "https://example.com/api/user";

七、结语

        一个小小的 / 有这么多细节可以深挖, 是不是很有意思?如果你是前端开发者,理解 / 的这些细节能让你在写路径、调试接口、配置服务器、优化 SEO 时更游刃有余。

        只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

        其他热门文章,请关注:

        极致的灵活度满足工程美学:用Vue Flow绘制一个完美流程图

        你真的会使用Vue3的onMounted钩子函数吗?Vue3中onMounted的用法详解

        DeepSeek:全栈开发者视角下的AI革命者

        通过array.filter()实现数组的数据筛选、数据清洗和链式调用

        Web Worker:让前端飞起来的隐形引擎

        测评:这B班上的值不值?在不同城市过上同等生活水平到底需要多少钱?

        通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能

        TreeSize:免费的磁盘清理与管理神器,解决C盘爆满的燃眉之急

        通过MongoDB Atlas 实现语义搜索与 RAG——迈向AI的搜索机制

        深入理解 JavaScript 中的 Array.find() 方法:原理、性能优势与实用案例详解

        前端实战:基于Vue3与免费满血版DeepSeek实现无限滚动+懒加载+瀑布流模块及优化策略

        el-table实现动态数据的实时排序,一篇文章讲清楚elementui的表格排序功能

        JavaScript双问号操作符(??)详解,解决使用 || 时因类型转换带来的问题

        内存泄漏——海量数据背后隐藏的项目生产环境崩溃风险!如何避免内存泄漏

      【前端实战】如何让用户回到上次阅读的位置?

        MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver

        JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、DOM操作等

        高效工作流:用Mermaid绘制你的专属流程图;如何在Vue3中导入mermaid绘制流程图

Read more

从 “Hello AI” 到企业级应用:Spring AI 如何重塑 Java 生态的 AI 开发

从 “Hello AI” 到企业级应用:Spring AI 如何重塑 Java 生态的 AI 开发

🔥个人主页:@草莓熊Lotso 🎬作者简介:C++研发方向学习者 📖个人专栏: 《C语言》 《数据结构与算法》《C语言刷题集》《Leetcode刷题指南》 ⭐️人生格言:生活是默默的坚持,毅力是永久的享受。 前言:当大模型浪潮席卷软件开发领域时,Java 开发者常常面临一个困境:一边是 PyTorch、LangChain 等 Python 生态的 AI 工具链蓬勃发展,一边是企业现有系统中大量的 Spring 技术栈难以快速接入 AI 能力。而 Spring AI 的出现,恰好打破了这层壁垒 —— 它将 Spring 生态的 “约定优于配置”、依赖注入、声明式编程等核心思想,与大模型交互、向量数据库集成、AI 工作流编排等能力深度融合,让 Java 开发者能以熟悉的方式拥抱 AI。今天,

By Ne0inhk
飞算JavaAI炫技赛:电商系统商品管理模块设计与实现

飞算JavaAI炫技赛:电商系统商品管理模块设计与实现

飞算JavaAI炫技赛:电商系统商品管理模块设计与实现 🌟 Hello,我是摘星! 🌈 在彩虹般绚烂的技术栈中,我是那个永不停歇的色彩收集者。 🦋 每一个优化都是我培育的花朵,每一个特性都是我放飞的蝴蝶。 🔬 每一次代码审查都是我的显微镜观察,每一次重构都是我的化学实验。 🎵 在编程的交响乐中,我既是指挥家也是演奏者。让我们一起,在技术的音乐厅里,奏响属于程序员的华美乐章。 目录 飞算JavaAI炫技赛:电商系统商品管理模块设计与实现 需求分析与规划 一、功能需求 二、核心模块 三、技术选型 飞算JavaAI开发实录 准备AI开发提示词 需求理解阶段 接口设计阶段 表结构设计阶段 逻辑处理阶段 源码生成阶段 优化与调试心得 pom依赖 Mysql配置 redis配置 Elasticsearch配置 YAML配置文件 成果展示与总结 API接口列表 核心代码 开发总结 引用箴言 参考链接 关键词标签 需求分析与规划 一、功能需求 功能需求总览流程图 商品基本信息管理:

By Ne0inhk
从 0 到 1:用 Trae 插件 Builder 模式开发端午包粽子小游戏

从 0 到 1:用 Trae 插件 Builder 模式开发端午包粽子小游戏

前言 Trae插件获取:https://www.trae.com.cn/plugin 在编程的世界里,效率就是生命。我们开发者常常为了一个项目的搭建,重复着创建文件夹、初始化项目配置、编写样板代码等一系列繁琐的操作,耗费了大量的时间和精力。而如今,Trae 插件的 Builder 模式横空出世,为我们的编程之旅带来了一束全新的光亮。它就像是一个智能化的Ai工程师,能够理解我们的需求,快速搭建起项目的框架,极大地减少了重复性工作,让我们得以将更多的精力投入到核心逻辑的开发中。由于马上就要端午节了,那么接下来我将利用Trae插件的builder模式,带大家从0到1开发一个端午包粽子小游戏。 Trae插件builder模式介绍 什么是Trae 插件的Builder 模式呢?通俗点来说,就好比你想盖一座房子,正常情况下,你得先画图纸、挖地基、砌墙、装窗户等等,一步步来,这中间要操心好多琐碎又重复的活儿。而 Builder 模式就像是有个智能的建筑工人,你跟它说 “我要盖一座两层楼的别墅,要有个大大的客厅、三间卧室、一个花园”

By Ne0inhk

从“会聊天”到“会交付”:用 OpenClaw + DeepSeek 做一个可落地的 AI Agent 工程化流水线(Java/Go/Python)

从“会聊天”到“会交付”:用 OpenClaw + DeepSeek 做一个可落地的 AI Agent 工程化流水线(Java/Go/Python) 主品牌:王仕宇(JavaPub) 关键词:OpenClaw、DeepSeek、AI Agent、大模型工程化、AI Coding、面试提效 一、今天的行业信号:Agent 正在从 Demo 走向交付 过去一年,大家都在讨论“AI 会不会替代程序员”。到 2026 年,一个更务实的问题已经出现: 你的 Agent,能不能稳定、可观测、可复用地交付结果? 这背后不是模型参数竞赛,而是工程化能力竞赛: * 任务编排是否可控(Cron / Heartbeat

By Ne0inhk