项目原始demo,不改动
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Este repositório está arquivado. Você pode visualizar os arquivos e realizar clone, mas não poderá realizar push nem abrir issues e pull requests.
 
 
 
 

31 linhas
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;