为什么 public 目录的内容要以根目录展示?

前言:

在 Vue.js 项目中,特别是使用 Vue CLI 创建的项目,默认情况下,静态资源(如图片、字体等)应该放在 public 目录下,并且可以通过根路径直接访问。这是因为 public 目录下的文件在构建过程中会被直接复制到输出目录的根目录下,而不会经过 Webpack 的处理。

原因:

  1. 直接访问:

    • 文件放在 public 目录下后,可以通过根路径直接访问。例如,public/cat.jpg 可以通过 /cat.jpg 访问。因为开发服务器会将 public 文件夹中的所有文件作为静态资源进行服务,http://localhost:5174/cat1.jpg查看展示静态资源
    • 这与 src/assets 目录不同,src/assets 目录下的文件会被 Webpack 处理,并且路径会根据构建配置进行变化。
  2. 静态资源:

    • public 目录通常用于存放不需要经过 Webpack 处理的静态资源,如 favicon.ico、robots.txt 等。
    • 这些文件在开发和生产环境中都需要保持一致的路径。
  3. 路径问题:

    • 如果你在 CSS 中使用相对路径引用 public 目录下的文件,可能会导致路径错误,特别是在不同的构建环境下。

    • 绝对路径(以 / 开头):从服务器根目录开始查找文件(public 目录的资源 )。

      相对路径:相对于当前 CSS 文件的位置查找文件(src目录下的资源)。

相关推荐
java1234_小锋20 小时前
【技术专题】CSS3 网页技术 - CSS3 简介 & CSS 语法:选择器、属性、值、声明块
css3·1024程序员节
思码梁田20 小时前
CSS 浏览器厂商前缀:从「写 5 遍」到现代自动化兼容
前端·css·css3·border-radius·1024程序员节·box-shadow·厂商前缀
feixing_fx2 天前
CSS Grid 入门:二维布局时代的降维打击
前端·css·前端框架·css3
iCxhust5 天前
模型:500kW飞轮 10kV输电线路 油田抽油机 同时考虑无功补偿 统计:全年节电量 结果56万度电
前端·css·css3·电力·飞轮
keyipatience5 天前
TypeScript学习(1)
前端·javascript·学习·typescript·html·css3
王大师王文峰6 天前
HTML 入门到进阶:语义化标签、表单与多媒体一篇打通【语义化布局、表单校验、video/audio、Canvas、无障碍与 SEO】
前端·css·node.js·html·css3·jquery·html5
keyipatience11 天前
CSS学习(2)|元素显示模式、盒模型、Flex 布局
javascript·css·html·css3
溪语流沙13 天前
【Web全栈进阶】Vue3起步:组件、模板语法、响应式数据
前端·javascript·vue.js·css3
百度一下吧13 天前
CSS3 之后新增的特性:从 CSS4 到现代 CSS 的演进
前端·css·css3
tryCbest13 天前
第二篇:CSS3 全部知识点全解 + 项目样式实现
前端·css·css3