WXL
3 天以前 9bce51f651aad297ef9eb6df832bfdaf1de05d84
node_modules/webpack/lib/runtime/StartupChunkDependenciesPlugin.js
@@ -13,6 +13,9 @@
/** @typedef {import("../Compiler")} Compiler */
/**
 * Options that describe which chunk loading backend should receive startup
 * dependency handling and whether the runtime should wait for those chunks
 * asynchronously.
 * @typedef {object} Options
 * @property {ChunkLoadingType} chunkLoading
 * @property {boolean=} asyncChunkLoading
@@ -20,12 +23,20 @@
const PLUGIN_NAME = "StartupChunkDependenciesPlugin";
/**
 * Adds runtime modules that delay entry startup until entry-dependent chunks
 * required by the selected chunk loading strategy have been loaded.
 */
class StartupChunkDependenciesPlugin {
   /**
    * Configures which chunk loading implementation this plugin should enhance
    * and whether startup waits should use promises or synchronous ensures.
    * @param {Options} options options
    */
   constructor(options) {
      /** @type {ChunkLoadingType} */
      this.chunkLoading = options.chunkLoading;
      /** @type {boolean} */
      this.asyncChunkLoading =
         typeof options.asyncChunkLoading === "boolean"
            ? options.asyncChunkLoading
@@ -33,7 +44,8 @@
   }
   /**
    * Apply the plugin
    * Registers compilation hooks that attach the startup dependency runtime
    * modules to entry chunks using the configured chunk loading mechanism.
    * @param {Compiler} compiler the compiler instance
    * @returns {void}
    */
@@ -41,6 +53,8 @@
      compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
         const globalChunkLoading = compilation.outputOptions.chunkLoading;
         /**
          * Determines whether a chunk uses the chunk loading backend that this
          * plugin is responsible for augmenting.
          * @param {Chunk} chunk chunk to check
          * @returns {boolean} true, when the plugin is enabled for the chunk
          */