构建产物目录
本章节主要介绍构建产物的目录结构,以及如何控制不同类型产物的输出目录。
默认产物目录
下面是最基础的产物目录结构,默认情况下,构建产物会生成在当前项目的 dist
目录下。
dist
├── css
│ ├── [name].[hash].css
│ └── [name].[hash].css.map
│
├── js
│ ├── [name].[hash].js
│ └── [name].[hash].js.map
│
└── [name].html
最常见的产物是 HTML 文件、JS 文件和 CSS 文件:
-
HTML 文件:默认输出到 dist 目录的根部。
-
JS 文件:默认输出到 static/js 目录,
-
CSS 文件:默认输出到 static/css 目录。
此外,JS 文件和 CSS 文件有时候会生成一些相关产物:
- Source Map 文件:包含保存源代码映射关系,默认输出到 JS 文件和 CSS 文件的同级目录,并添加 .map 后缀。
在产物的文件名称中,[name] 表示这个文件对应的入口名称,比如 index, main。[hash] 则是基于该文件的内容生成的哈希值。
修改产物目录
- 通过 output.filename 来修改产物的文件名。
静态资源
当你在代码中引用图片、SVG、字体、媒体等类型的静态资源时,EMP
会将其统一输出到 dist/assets 目录下:
dist
└── assets
├── foo.[hash].png
├── bar.[hash].svg
├── baz.[hash].woff2
└── qux.[hash].mp4