HtmlWebpackPlugin использовать свойство chunks рендерит htmlWebpackPlugin.files. css пусто - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть следующие настройки в моем webpack.config.js.

Я использую chunks, потому что мне нужно, чтобы произведенные связки приходили в указанном порядке c.

И ниже настройка работает, но мой css больше не находится в htmlWebpackPlugin.files.css.

plugins: [
  new HtmlWebpackPlugin({
    filename: path.join(__dirname, '/dist/app/index.html'),
    favicon: 'assets/favicon.ico',

    chunks: [
      'scripts/jquery.js',
      'scripts/angular.js',
      'scripts/angular-animate.js',
      'scripts/uirouter.js',
      'scripts/app.js',
    ],
    chunksSortMode: 'manual',

    hash: true,
    inject: false,
    title: 'App',
    template: path.join(__dirname, '/index.template'),
  }),
];

Мой шаблон выглядит следующим образом

<% for (var item in htmlWebpackPlugin.files.css) { %>
<link href="<%= htmlWebpackPlugin.files.css[item] %>" rel="stylesheet">
<% } %> <-------------- empty when I use chunks

<% for (var item in htmlWebpackPlugin.options.chunks ) { %>
<script src="<%= htmlWebpackPlugin.options.chunks[item] %>"></script>
<% } %> <-------------- works, but the output does not have any hash

Более того, когда я использую chunks, он делает свойство hash бесполезно, так как оно больше не публикует имена файлов исправлений с ha sh.

Предполагается ли так работать? То есть, если я использую chunks, тогда мне нужно включить туда и включенный css файл?

Обновлен

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

1 Ответ

0 голосов
/ 16 апреля 2020

Нет необходимости указывать чанки (ни порядок), веб-пакет будет использовать порядок импорта как порядок чанков.

Итак, если вы удалите chunks & chunksSortMode & inject: false, HtmlWebpackPlugin правильно внедрит файлы.

Я сделал пиар в вашем репо с исправлением.

...