Webpack 中文文档(v4.15.1) 目录

webpack 包含统计数据的文件(stats data)

通过 webpack 编译源文件时,用户可以生成包含有关于模块的统计数据的 JSON 文件。这些统计数据不仅可以帮助开发者来分析应用的依赖图表,还可以优化编译的速度。这个 JSON 文件可以通过以下的命令来生成:

------- --------- ------ - ----------------------

这个标识是告诉 webpack compilation-stats.json 要包含依赖的图表以及各种其他的编译信息。一般来说,也会把 --profile 一起加入,这样每一个包含自身编译数据的模块对象(modules object) 都会添加 profile

结构 (Structure)

最外层的输出 JSON 文件比较容易理解,但是其中还是有一小部分嵌套的数据不是那么容易理解。不过放心,这其中的每一部分都在后面有更详细的解释,并且注释中还附带有超链接可以直接跳入相应的章节。

-
  ---------- --------- -- ----- ------- ---
  ------- ----------------------- -- ----- ----
  ------- ----- -- ---- ----
  ------------------ -- -- - -------------------------------------------------------------------------------------- ---------------
  ------------- ---- -- ---- -- ------- ----- ---- --
  -------------------- -
    -- ----- ----- ---
    ------- --------------------------------
    -------------- ---------------------
    -------------- -
      -----------------
      -----------------
    -
  --
  --------- -
    -- ------ -- ------ ------------------------- ---
  --
  --------- -
    -- ------ -- ------ ------------------------- ---
  --
  ---------- -
    -- ----- ------- -------------------------- ---
  --
  --------- -
    -- ------ ------ ------------------------------ ---
  --
  ----------- -
    -- ------ -------- ------------------------------ ---
  -
-

Asset对象 (Asset Objects)

每一个 assets 对象都表示一个编译出的 output 文件。 assets 都会有一个共同的结构:

-
  ------------- --- -- -- ----- --- -----
  --------- - --- - -- -- -- ----- --- ----- - --
  ---------- ----- -- ---- ----- -------- ------ --
  ------- ------------ -- ------
  ------- ---- -- -----
-

Chunk 对象 (Chunk Objects)

每一个 chunks 表示一组称为 chunk 的模块。每一个对象都满足以下的结构。

-
  -------- ----- -- ---- ----- ---- ------- ----
  -------- -
    -- ------ ----- -------
  --
  ------------------ -- -- ---- ----------------
  ----- -- -- -- ----- ---
  ---------- ----- -- ---- ----- --------- -----------------------------------------
  ---------- -
    -- ----- ------- -----------------------------
    -------------------------------
  --
  -------- -
    -- ----- ----- -- ----- ------
  --
  ---------- -
    -- ----
  --
  ---------- --- -- - ----- - ---
  ----------- ----- -- ---- ----- --------
  ------- ------ -- ----- ---------
-

chunks 对象还会包含一个 来源 (origins) ,来表示每一个 chunk 是从哪里来的。 来源 (origins) 是以下的形式

-
  ------ --- -- ---------------
  --------- -------------------------------------------------- -- -----
  ----------- -- -- -----
  ------------------- -------------------------------------------------- -- -----
  ------------- --------------------- -- -------
  ------- ------- -- --------
  ---------- -
    -- -------------------------
  -
-

模块对象 (Module Objects)

缺少了对实际参与进编译的模块的描述,这些数据又有什么意义呢。每一个在依赖图表中的模块都可以表示成以下的形式。

-
  --------- -
    -- -------- ------ ----------------------------
  --
  -------- ----- -- --------- ---------------------------- - --- ----
  ------------ ----- -- ------------
  --------- -
    -- ------- ------ - --
  --
  --------- -- -- --------------
  --------- ------ -- ------
  ----- -- -- ------- ---- ---------------------------------------------------------
  ------------- -------------------------------------------------- -- -----------------
  ------- --------------------- -- -------
  ----------- ------ -- ---------------- ------- ------ - --------
  ------------- ------ -- ---------- --------------------------------------
  ---------- -
    -- -- ------------ ------------------------- ------------ ----
    ----------- --- -- -----
    --------------- ---- -- ----
    ---------- -- -- ----
  --
  ---------- -
    -- -----
  --
  ------- ----- -- ------- ------
  --------- --- ------ --- ----- -------------------- -- -------
  ----------- - -- ----------
-

每一个模块都包含一个 理由 (reasons) 对象,这个对象描述了这个模块被加入依赖图表的理由。每一个 理由 (reasons) 都类似于上文 chunk objects中的 来源 (origins):

-
  ------ ----------- -- ----------------
  --------- --------------------- -- ---------- ------------------------------------------------
  ----------- -- -- --- --
  ------------------- -------------------------------------------------- -- -----
  ------------- --------------------- -- ---------- --- ------ -------------------
  ------- ------------------ -- --------- ----- -- ------------------------------
  -------------- ------------- -- -- -------- -- --------- -----
-

错误与警告

错误 (errors)警告 (warnings) 会包含一个字符串数组。每个字符串包含了信息和栈的追溯:

------------------------------------
-------- -------------
--------- ---- ---- -- -- - --------- ---------- ----- ---- ----- ---- -- --------- ---- --- ------------ --- -- ------- -- ------- ------ -- --- ------ --------
 - ------------------------------------ ---------

W> 需要注意的是,当 错误详情为false(errorDetails:false)传入toJson函数时,对栈的追溯就不会被显示。错误详情(errorDetils) 默认值为 true


上一篇:命令行接口(CLI)
下一篇:Node.js API