Как получить доступ к сгенерированным файлам в плагине? - PullRequest
0 голосов
/ 18 октября 2019

Итак, вот моя ситуация. У меня есть приложение JavaScript, где я добавляю хэши к именам файлов, как стандарт для вывода Webpack. Таким образом, содержимое может безопасно кэшироваться браузером, при этом новая загрузка контролируется изменяющимся хешем файла.

Моя проблема в том, что у меня есть ситуация, когда мне нужны другие приложения для доступа к моим, и они не будутбыть в состоянии обновляться каждый раз, когда изменяется хэш. Поэтому мне нужен такой запрос:

https://my -domain.com / assets / js / app.js

, чтобы он был перенаправлен на

https://my -domain.com / assets / js / app.ab12cd34.js

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

Приложение развертывается в среде Pivotal CloudFoundry. PCF поддерживает оценку динамического кода Ruby в файле nginx.conf, так что это кажется простым способом обойти это. К сожалению, моя компания требует, чтобы nginx.conf проходил через специальный анализатор для обеспечения безопасности заголовков. Этот синтаксический анализатор знает только синтаксис nginx и искажает любой код на Ruby.

Итак, у меня остается Webpack. Я начал изучать способы изменения файлов в Webpack в процессе сборки и обнаружил функцию transform () в плагине copy-webpack-plugin. Он имеет возможность изменять файлы именно так, как мне нужно. Однако все еще остается проблемой получение хеш-имени файла.

Итак, я надеюсь, что есть какой-то способ получить доступ к тому, что хеш-имя файла будет в этом плагине, чтобы я мог вставить его вthe nginx.conf.

В качестве альтернативы, если кто-то знает другой способ обойти мою основную проблему, у меня все уши.

1 Ответ

0 голосов
/ 21 октября 2019

Вы можете использовать webpack-manifest-plugin для создания файла манифеста с именем файла -> chunkname / bundlename mapping.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...