ManifestJson

manifest.json 是 Esmx 框架在构建过程中生成的清单文件,用于记录服务构建的产物信息。它提供了统一的接口来管理构建产物、导出文件和资源大小统计。

dist/client/manifest.json
1{
2  "name": "your-app-name",
3  "exports": {
4    "src/entry.client": "src/entry.client.8537e1c3.final.mjs",
5    "src/title/index": "src/title/index.2d79c0c2.final.mjs"
6  },
7  "buildFiles": [
8    "src/entry.client.2e0a89bc.final.css",
9    "images/cat.ed79ef6b.final.jpeg",
10    "chunks/830.63b8fd4f.final.css",
11    "images/running-dog.76197e20.final.gif",
12    "chunks/473.42c1ae75.final.mjs",
13    "images/starry.d914a632.final.jpg",
14    "images/sun.429a7bc5.final.png",
15    "chunks/473.63b8fd4f.final.css",
16    "images/logo.3923d727.final.svg",
17    "chunks/534.63b8fd4f.final.css",
18    "src/title/index.2d79c0c2.final.mjs",
19    "src/entry.client.8537e1c3.final.mjs",
20    "chunks/534.e85c5440.final.mjs",
21    "chunks/830.cdbdf067.final.mjs"
22  ],
23  "chunks": {
24    "your-app-name@src/views/home.ts": {
25      "js": "chunks/534.e85c5440.final.mjs",
26      "css": ["chunks/534.63b8fd4f.final.css"],
27      "resources": [
28        "images/cat.ed79ef6b.final.jpeg",
29        "images/logo.3923d727.final.svg",
30        "images/running-dog.76197e20.final.gif",
31        "images/starry.d914a632.final.jpg",
32        "images/sun.429a7bc5.final.png"
33      ],
34      "sizes": {
35        "js": 7976,
36        "css": 5739,
37        "resource": 796974
38      }
39    }
40  }
41}

类型定义

ManifestJson

1interface ManifestJson {
2  name: string;
3  exports: Record<string, string>;
4  buildFiles: string[];
5  chunks: Record<string, ManifestJsonChunks>;
6}

name

  • 类型: string

服务名称,来自于 EsmxOptions.name 配置。

exports

  • 类型: Record<string, string>

对外导出的文件映射关系,key 为源文件路径,value 为构建后的文件路径。

buildFiles

  • 类型: string[]

构建产物的完整文件清单,包含所有生成的文件路径。

chunks

  • 类型: Record<string, ManifestJsonChunks>

源文件与编译产物的对应关系,key 为源文件路径,value 为编译信息。

ManifestJsonChunks

1interface ManifestJsonChunks {
2  js: string;
3  css: string[];
4  resources: string[];
5  sizes: ManifestJsonChunkSizes;
6}

js

  • 类型: string

当前源文件编译后的 JS 文件路径。

css

  • 类型: string[]

当前源文件关联的 CSS 文件路径列表。

resources

  • 类型: string[]

当前源文件关联的其它资源文件路径列表。

sizes

  • 类型: ManifestJsonChunkSizes

构建产物的大小统计信息。

ManifestJsonChunkSizes

1interface ManifestJsonChunkSizes {
2  js: number;
3  css: number;
4  resource: number;
5}

js

  • 类型: number

JS 文件大小(字节)。

css

  • 类型: number

CSS 文件大小(字节)。

resource

  • 类型: number

资源文件大小(字节)。