项目原始demo,不改动
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
Questo repository è archiviato. Puoi vedere i file e clonarli, ma non puoi effettuare richieste di pushj o aprire problemi/richieste di pull.
 
 
 
 

31 righe
969 B

  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. Author Tobias Koppers @sokra
  4. */
  5. "use strict";
  6. const DelegatedModuleFactoryPlugin = require("./DelegatedModuleFactoryPlugin");
  7. const DelegatedSourceDependency = require("./dependencies/DelegatedSourceDependency");
  8. const DelegatedExportsDependency = require("./dependencies/DelegatedExportsDependency");
  9. const NullFactory = require("./NullFactory");
  10. class DelegatedPlugin {
  11. constructor(options) {
  12. this.options = options;
  13. }
  14. apply(compiler) {
  15. compiler.plugin("compilation", (compilation, params) => {
  16. compilation.dependencyFactories.set(DelegatedSourceDependency, params.normalModuleFactory);
  17. compilation.dependencyFactories.set(DelegatedExportsDependency, new NullFactory());
  18. });
  19. compiler.plugin("compile", (params) => {
  20. params.normalModuleFactory.apply(new DelegatedModuleFactoryPlugin(this.options));
  21. });
  22. }
  23. }
  24. module.exports = DelegatedPlugin;