Пользовательский плагин Webpack: какой хук для доступа к преобразованному коду - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь преобразовать загрузчик содержимого файлов после того, как определенный загрузчик в плагине веб-пакета выполнил свою работу.Это обычно было бы идеально для другого загрузчика, но мне также нужен доступ к ловушке, которая вызывается, когда процесс перевода закончен (отсюда и выбор для написания плагина вместо этого).Нужен ли мне другой хук, чем emit, и каковы свойства аргументов, которые дают доступ к преобразованному содержимому файла?

    compiler.plugin('done', () => {
       // some finalization code
    });

    compiler.plugin('emit', (compilation, callback) => {
      compilation.chunks.forEach((chunk) => {
        chunk.forEachModule((module) => {
          let filename = module.resource;
          // I could load filename from the filesystem, but I need the content
          // of the file that's gone through the loader pipeline (ideally
          // after a certain loader, but I think at the end of the
          // pipeline would also be fine).
        })
     });

Я использую webpack 3, но я должен быть в состоянии перевестииз пачки 4 решения.

1 Ответ

0 голосов
/ 24 апреля 2019

В итоге я написал плагин, который динамически внедряет загрузчик на after-resolve (вы должны вручную проверить, в какой «модуль» вы хотите вставить загрузчик, а также его положение), а также установил хук для done событие для записи всего на диск.

...