Webpack 2: просмотр внешних файлов

76
4

У меня есть проект, который использует исходные файлы, внешние по отношению к проекту. Фактически, есть фактический исходный код проекта (приложение Typcript/Angular 2, позволяет называть его "основным" материалом), и это общее веб-приложение, которое предназначено для базового кода, который потребляет эти внешние исходные файлы.

Внешние файлы включают дополнительные stuff--, которые могут быть SCSS файлами, изображениями, evn дополнительными JS. Способ, которым я хочу, чтобы это работало, заключается в том, что webpack копирует эти внешние файлы из любого исходного каталога (это важно, он не является частью основного проекта) в локальный каталог.tmp. Файлы в каталоге.tmp обрабатываются вместе с основными файлами src для генерации вывода prod.

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

В настоящее время мне приходится перезапускать webpack и иметь очень уродливое решение, использующее Grunt для просмотра дополнительных файлов. Это неприятно, но эти обходные пути исторически были тем, что мне приходилось делать с webpack.

У кого-то есть лучшее решение? В идеале я бы не хотел смешивать хрюканье с webpack. Webpack должен быть в состоянии сделать это, но его трудно узнать, существует ли существующий плагин для этого или какой лучший подход будет.

Кроме того, пожалуйста, обратите внимание на комментарии "искать его в google" или "читать документы". Я проделал все это, тяжело, и ничего не нашел.

Заранее спасибо.

спросил(а) 2021-01-25T19:49:39+03:00 5 месяцев назад
1
Решение
89

На данный момент Webpack не смотрит внешние файлы из коробки. Для этого вам нужен плагин.

В основном идея состоит в том, чтобы иметь модуль наблюдения файлов chokidar/watch, прослушивание изменения файла, а когда есть изменения, перезапустите фазу компиляции webpack. Плагины Webpack могут получить доступ к объекту компиляции, и нам нужно подключить его к фазе компилятора, то есть "emit", "after-emit" и т.д.

Этот плагин Webpack точно решает вашу проблему - https://www.npmjs.com/package/filewatcher-webpack-plugin.

ответил(а) 2021-01-25T19:49:39+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема