项目原始demo,不改动
Não pode escolher mais do que 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. Pode ver ficheiros e cloná-lo, mas não pode fazer envios ou lançar questões ou pedidos de integração.
 
 
 
 

36 linhas
960 B

  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. Author Tobias Koppers @sokra
  4. */
  5. "use strict";
  6. const SingleEntryDependency = require("./dependencies/SingleEntryDependency");
  7. class SingleEntryPlugin {
  8. constructor(context, entry, name) {
  9. this.context = context;
  10. this.entry = entry;
  11. this.name = name;
  12. }
  13. apply(compiler) {
  14. compiler.plugin("compilation", (compilation, params) => {
  15. const normalModuleFactory = params.normalModuleFactory;
  16. compilation.dependencyFactories.set(SingleEntryDependency, normalModuleFactory);
  17. });
  18. compiler.plugin("make", (compilation, callback) => {
  19. const dep = SingleEntryPlugin.createDependency(this.entry, this.name);
  20. compilation.addEntry(this.context, dep, this.name, callback);
  21. });
  22. }
  23. static createDependency(entry, name) {
  24. const dep = new SingleEntryDependency(entry);
  25. dep.loc = name;
  26. return dep;
  27. }
  28. }
  29. module.exports = SingleEntryPlugin;