002 vue3-admin项目的目录及文件说明之public目录

news/2025/11/3 23:08:10/文章来源:https://www.cnblogs.com/allenxx/p/19188505

主要作用

1. 存放静态资源

  • 放置 HTML、CSS、JavaScript 等静态文件
  • 存储图片、字体、图标等资源文件
  • 这些文件会被原样复制到最终的构建目录中

2. 入口文件

  • 通常包含 index.html 作为应用的入口文件
  • 这个 HTML 文件是应用的起点,会被浏览器加载

3. 静态资源访问

  • 存放的文件可以通过根路径直接访问
  • 例如:public/images/logo.png 可以通过/images/logo.png访问

 

与 src 目录的区别

image

 

与 assets 目录的区别

image

 

 

常见文件结构

public/
├── index.html          # 应用入口HTML
├── favicon.ico         # 网站图标
├── manifest.json       # PWA配置文件
├── robots.txt          # 搜索引擎爬虫配置
├── images/             # 图片资源
│   ├── logo.png
│   └── background.jpg
├── fonts/              # 字体文件
└── data/               # 静态数据文件└── config.json

注意事项

  1. 不要在 public 目录中存放需要编译的代码
  2. 避免在 public 中存放过大的文件
  3. public 目录中的文件不会被 webpack 处理
  4. 使用 % PUBLIC_URL% 或 process.env.PUBLIC_URL 引用路径
  5. 不要在 public 中存放敏感信息

框架特定说明

React 项目

  • public 目录是 Create React App 约定的静态资源目录
  • % PUBLIC_URL% 会被替换为实际的公共路径

Vue 项目

  • Vue CLI 项目中对应的是 public 目录
  • 使用process.env.BASE_URL引用公共路径(vite已移除)

 

常见问题

Q: 为什么不直接使用相对路径?

A: 使用 process.env.BASE_URL 可以确保在不同的部署环境下(如子目录部署)资源路径都能正确解析。

Q: public 目录中的文件会被打包吗?

A: 不会,这些文件会被原样复制到 dist 目录中,不经过 webpack 处理。

Q: 什么时候应该使用 public 目录?

A: 当你需要:
  • 引用不经过 webpack 处理的静态资源
  • 在 HTML 中直接引用资源
  • 访问打包后的文件
  • 使用动态加载的资源
通过合理使用 public 目录和 process.env.BASE_URL,你可以更好地管理 Vue CLI 项目中的静态资源,确保应用在不同环境下都能正常运行。

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

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

相关文章

Day11CSS特性

CSS的特性包括继承性,层叠性,优先级 1.继承性 子级默认继承父级的文字控制属性 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="…

[GDB] GDB-Dashboard: GDB可视化工具

[GDB] GDB-Dashboard: GDB可视化工具$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");Grok生成(2025年11月3日22:54:39)目录GDB-Dashboard 学习文档前言:为…

kettle调度系统-kettle spoon方式调度,强大兼容性,支持各种版本kettle

场景: 昨天发布了xxkg-pdi 金刚调度系统,kettler小伙伴们火速使用了起来,有不少小伙伴催我操作教程,今天下班回家饭都没来的吃,开始搞教程。今天咱们一起学***kg-pdi 调度系统如何使用spoon方式进行调度,这里说的…

Django 项目开发整体步骤(0 开始)

Django 项目开发整体步骤-基础版1. 环境准备 - 安装 Python(推荐 3.10+)。 - 创建虚拟环境(venv 或 virtualenv)。# Linux / Mac mkdir django_demo cd django_demopython3 -m venv myenv source myenv/bin/ac…

[GDB] cgdb: GDB 可视化工具

[GDB] cgdb: GDB 可视化工具$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");Grok生成(2025年11月3日22:52:04)目录GDB 与 CGDB 学习文档前言:为什么要学习…

Maya 2025软件超详细下载安装教程(附安装包和激活步骤)

很多朋友想用上 Maya 2025 这款专业的三维动画设计软件,却在安装环节犯了难。其实 Maya 安装并不复杂,这篇教程就把 Maya 2025 从下载到能用的每一步都说清楚,跟着做,保准你能顺利用上 Maya。目录一、Maya 2025优势…

AI元人文构想:基于价值原语和三值纠缠的权衡

AI元人文构想:基于价值原语和三值纠缠的权衡 笔者:岐金兰 摘要: 本文提出“AI元人文”构想,旨在解决AI在价值决策中的根本缺陷。该框架通过将模糊的人文价值“原语化”为可操作单元,并引入“欲望值、客观值、自感…

一款基于 .NET WinForm 开源、轻量且功能强大的节点编辑器,采用纯 GDI+ 绘制无任何依赖库仅仅100+Kb!

前言 今天大姚给大家分享一款基于 .NET WinForm 开源免费(MIT License)、轻量且功能强大的节点编辑器,采用纯 GDI+ 绘制无任何依赖库仅仅100+Kb:STNodeEditor。 项目介绍 STNodeEditor 是一款基于 .NET WinForm 开…

10-31 题

10-31 题 目录10-31 题G - Minimum PermutationG - P-smooth numberG - Dream TeamP14254 分割(divide) - 洛谷 G - Minimum Permutation 可以用一个栈维护当前选了哪些数,从前往后考虑,首先检查 \(a_i\) 是否不在…

Windows install MiniConda3

1.Download.Open command and runbelow url//In command prompt curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe2.Install.Open new command window with administrator,and cd t…

109.Redis的geospatial和XXL-JOB 分布式任务调度平台整理

109.Redis的geospatial和XXL-JOB 分布式任务调度平台整理依旧是代驾项目中使用到的功能 特此总结 一个是Redis Geo用于存储和查询地理位置信息(经纬度) 一个是定时任务-分布式 XXL-JOB Redis Geohttps://redis.io/docs…

我的神奇题目

U613849 ggg 题目描述 给一个序列 \(a_i\) , \(q\)个询问L R 求从中有多少个区间 \([l,r]\) 满足 $ gcd(a_l,a_{l+1},a_{l+2},a_{r})=1 $, 输入格式 第一行一个 \(N\),满足N为正整数。 第二行序列\(a\)。 第三行 \(q…

STM32学习之概念——仿真器、调试器、下载器

stm32学习笔记STM32学习笔记 一、核心概念区分:下载 vs. 调试 首先要理解两个核心功能:程序下载:也叫编程或烧录。简单说就是把你在电脑上编译好的二进制程序文件(比如.bin或.hex文件)“灌入”到STM32芯片的内部F…

洛谷 P3273

题意直接看 原题 吧。 注意 \(-1000 \le v \le 1000\)。 这种连边的操作很容易让人想到 DSU,再一看,使用 DSU 对于每个连通块开个 set 维护最大值,整体再开个 set 维护全局最大值,不难搞出 \(O(n \log ^2 n)\) 的做…

docker compose.yaml配置

以下是一个常用的 MySQL Docker Compose 配置示例,包含数据持久化、环境变量配置、自定义配置等核心功能,适用于开发或测试环境。 1. 基础配置文件(docker-compose.yml) 创建一个 docker-compose.yml 文件,内容如…

A39C-T400A22D1a Lora通讯模块的命令配置示例记录

记录了开发中对A39C-T400A22D1a Lora模块直接发送命令进行配置的实例,作为文档的增补前言 开发的过程中,用A39C-T400A22D1aLora模块作无线传输。这个项目之前的人都是用厂商的ASDS上位机软件,直接配置Lora模块,也确…

好久没来了

好久没来了今天 Zotero出问题了!可恶

【入门】使用Node.js开发一个MCP服务器

介绍一个小小后端码农,研究了一下午,终于搞明白怎么开发一个nodeJs的MCP服务器,特写成一篇粗略的博客,供大家参考。MCP 是什么? MCP(Model Control Protocol)是一个标准化接口协议,用于定义AI工具的功能和参数…

Multisim保姆级图文下载安装教程包含下载、安装、汉化、激活

目录一、Multisim 14.3 是什么?为什么好用?二、Multisim 14.3下载三、Multisim 14.3 安装步骤(一步不落)3.1 解压安装包 3.2 进安装目录 3.3 运行安装程序 3.4 同意协议 3.5 别改安装路径 3.6 装主程序 3.7 同意组…

AgenticSeek:完全本地的AI助手,保护隐私的智能代理

AgenticSeek是一个100%本地运行的AI助手,完全替代Manus AI。支持语音交互,能够自主浏览网页、编写代码、规划任务,所有数据仅保存在您的设备上,确保完全的隐私保护和零云端依赖。AgenticSeek:完全本地的AI助手 项…