构建输出目录结构
构建完成后产物输出到 dist 目录,了解其结构有助于正确部署。
标准输出结构
JavaScript
dist/
├── index.html # 入口 HTML
├── assets/
│ ├── index-abc123.js # 入口 JS(哈希命名)
│ ├── index-def456.css # 入口 CSS(哈希命名)
│ ├── vendor-789ghi.js # 第三方依赖 chunk
│ ├── logo-xyz789.png # 图片资源(哈希命名)
│ └── logo-abc123.woff2 # 字体资源
└── favicon.ico # public 目录复制文件
目录说明
| 目录/文件 | 说明 | |
|---|---|---|
| index.html | 入口页面,引用 assets 资源 | |
| assets/ | 存放 JS、CSS、图片等 | |
| favicon.ico | 从 public 复制的文件 |
哈希命名规则
HTML
// 原文件
src/assets/logo.png
// 构建后
assets/logo-[hash].png
哈希值基于文件内容生成:
- 内容不变 → 哈希不变 → 缓存有效
- 内容变化 → 哈希变化 → 强制更新
HTML 资源引用
构建后 index.html 自动更新引用:
JavaScript
<!-- 构建前 -->
<script type="module" src="/src/main.js"></script>
<!-- 构建后 -->
<script type="module" src="/assets/index-abc123.js"></script>
<link rel="stylesheet" href="/assets/index-def456.css">
资源分类
| 资源类型 | 输出位置 | 哈希 |
|---|---|---|
| JS 文件 | assets/ | 有 |
| CSS 文件 | assets/ | 有 |
| 图片/字体 | assets/ | 有(可配置) |
| public 文件 | dist 根目录 | 无 |
注意:public 目录文件不添加哈希,保持原名。
配置输出结构
text
export default defineConfig({
build: {
outDir: 'dist',
assetsDir: 'assets', // 资源子目录名
assetsInlineLimit: 4096 // 小于此值内联
}
})
要点总结
- dist 是构建产物根目录
- assets 存放 JS/CSS/图片等
- 文件名哈希确保缓存正确
- public 文件保持原名
📝 发现内容有误?点击此处直接编辑