ClientDynamicModulesOption

动态将plugin插件写入到temp文件中去,这里的动态是指一个动态的文件,包含了整个文件的内容,放到temp里面去。这样的好处是将一些node_module里面的文件引入到外部最终webpack可以解析并打印。还有一个官方的使用解析

module.exports = class ClientDynamicModulesOption extends AsyncOption {
  async apply(ctx) {
    await super.asyncApply();

    for (const { value, name: pluginName } of this.appliedItems) {
      const { name, content, dirname = "dynamic" } = value;
      await ctx.writeTemp(
        `${dirname}/${name}`,
        `
/**
 * Generated by "${pluginName}"
 */
${content}\n\n
        `.trim()
      );
    }
  }
};

.temp中写入文件,默认输出

name:siteData.js
name:routes.js
name:root-mixins.js
name:layout-components.js
name:page-components.js
name:ClientComputedMixin.js

默认注释

/**
 * Generated by "@vuepress/internal-layout-components"
 */