Папка наблюдения за созданием плагина Webpack

Я создал подключаемый модуль веб-пакета и хотел бы, чтобы он мог запускать повторную компиляцию в мою папку dist при изменении в папке, но у меня возникли проблемы с поиском информации о том, как это сделать.

Я знаю, что это возможно, потому что CopyWebpackPlugin запускает повторную компиляцию, когда какие-либо файлы изменяются в каталоге from:.

В созданном плагине, как я могу отслеживать изменения в папке, которые вызовут перекомпиляцию веб-пакета в папку dist?


person David Torrey    schedule 11.06.2018    source источник
comment
если папка является частью дерева зависимостей, она уже перезапустит компиляцию.   -  person PlayMa256    schedule 11.06.2018
comment
это вне дерева зависимостей. то есть нет ссылки на него в точке внедрения javascript, аналогично тому, как copywebpackplugin может копировать файлы, внешние по отношению к дереву зависимостей, например, из статической папки в папку dist   -  person David Torrey    schedule 11.06.2018


Ответы (1)


Похоже, хитрость заключается в использовании

compiler.plugin("watch-run", (compilation,callback) => {
}

и я использовал пакет npm «watch», чтобы создать прослушиватель событий для изменений в определенных каталогах:

watch.watchTree(rootPath, function(f,curr,prev){
   ...
   callback();
});

Это вызовет код внутри функции обратного вызова сторожевого дерева на основе событий для файлов, которые находятся по корневому пути, который вы можете проверить.

person David Torrey    schedule 11.06.2018