Пишу свое решение для blade шаблонизатора, но пугаться не надо, там то же самое, просто конструкции другие.
webpack.config.js:
new HtmlWebpackPlugin({
template: "resources/js/template_vanilla.ejs",
filename: path.resolve(__dirname, 'resources/views/inline/vanilla.blade.php'),
inject: false,
publicPath: '/assets',
}),
template_vanilla.ejs:
<% let styles = htmlWebpackPlugin.files.css; %>
<% let scripts = htmlWebpackPlugin.files.js; %>
<% for (let style of styles) { %>
<link rel="stylesheet" href="<%= style %>">
<% } %>
<% for (let script of scripts) { %>
<script src="<%= script %>"></script>
<% } %>
После выполнения в resources/views/inline/vanilla.blade.php будет следующий код:
<script src="/assets/js.ebb3174236087eacfa7b.bundle.js"></script>
который можно подключить обычной конструкцией
В моем случае это будет @include('inline.vanilla')
В вашем, наверно {% include 'resources/views/inline/vanilla.blade.php' %}
По сути, только имена файлов поменять на нужные вам остается.
Я это все делал для того, чтобы автоматически сбрасывался кэш у пользователей в браузерах и не надо было вручную редактировать. И чтобы код чистый был более-менее.