Есть ли какая-либо опция publicPath или аналогичная в Webpack DllPlugin?
Я использую mxstbr / реагировать на шаблон, который использует отличный DllPlugin, но в качестве приложения обслуживается nginx под /admin
, он терпит неудачу с 404 при попытке получить reactBoilerplateDeps.dll.js
файл из корневого URL (он попадает http://localhost/reactBoilerplateDeps.dll.js
вместо http://localhost/admin/reactBoilerplateDeps.dll.js
).
Есть ли какое-либо сходное понятие с опцией WebPack publicPath на DllPlugin или каким-либо способом сообщить DllPlugin, который используется под префиксом пути?
2 ответа
Для формата webpack.dev.babel.js, нажмите здесь
Я боролся с тем же, но попробовал следующее:
1) Перейти к вам webpack.dev.babel.js
2) Перейдите на строку, где вы добавили это:
dllNames.forEach ((dllName) => body.append (<script data-dll='true' src='/${dllName}.dll.js'></script>
));
3) Удалите 'обратную косую черту'(/), поскольку файлы node_modules после их установки становятся общедоступными. Итак, после удаления это будет:
dllNames.forEach ((dllName) => body.append (<script data-dll='true' src='${dllName}.dll.js'></script>
));
4) запустить npm запустить сборку: dll
5) npm start
Я надеюсь, что это помогает.
Я сделал это, добавив префикс, где сценарии dll добавляются в тело:
dllNames.forEach((dllName) => body.append(`<script data-dll='true' src='/${dllName}.dll.js'></script>`));
в
dllNames.forEach((dllName) => body.append(`<script data-dll='true' src='/${somePrefix}${dllName}.dll.js'></script>`));
Кроме того, в зависимости от того, как вы проксируете запросы, вы должны убедиться, что сервер dev правильно обрабатывает имя файла. Поэтому, если вы также передаете префикс на сервер разработки, вы должны удалить его из пути запроса здесь.