为什么Webpack的统计信息中的“ moduleName”包含“ + 4个模块”?

时间:2018-12-15 04:23:29

标签: vue.js webpack vue-loader

这是一个例子:

{
  "moduleId": 14,
  "moduleIdentifier": "/projects/sbt-vuefy/node_modules/vue-loader/lib/index.js??vue-loader-options!/projects/sbt-vuefy/src/test/scala/givers/vuefy/assets/vue/component-a.vue e03f6658ab7c5e6582e13283490782d2",
  "module": "./vue/component-a.vue + 4 modules",
  "moduleName": "./vue/component-a.vue + 4 modules",
  "type": "harmony import specifier",
  "userRequest": "./dependencies/component-b.vue",
  "loc": "7:29-39"
}

上面的JSON来自下面的Webpack插件代码:

class Plugin {
  apply(compiler) {
    compiler.hooks.emit.tap("emit-hook", (compilation) => {
      for (let module of compilation.getStats().toJson().modules) {
        for (let reason of module.reasons) {
          console.log(JSON.stringify(reason));
        }
      }
    });
  }
}

有人知道+ 4 modules是什么意思吗?而且,更重要的是,有没有办法摆脱它?

官方文档(https://webpack.js.org/api/stats/#module-objects)对此没有任何说明。

谢谢

1 个答案:

答案 0 :(得分:0)

这不是错误,可以关闭。参见:https://github.com/webpack/webpack/issues/8507