Как включить куски, хэшированные веб-пакетом - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь оптимизировать свое приложение.Я видел улучшения, чтобы загрузить много маленьких файлов, чем один большой.Долгосрочное кэширование с кусками.Но теперь, веб-пакет создает тонны файлов с хэш-именем (для кэша), и я не совсем понимаю, как включить их в мое приложение (шаблон ветки Symfony).

Раньше, когда я запускал веб-пакет,он создал один файл 'redemptionClient.js', который я включил в основном с <script src="/build/redemptionClient.js" />.Это легко сделать.

Но теперь веб-пакет создает что-то вроде этого: код

Вот часть моей конфигурации веб-пакета:

output: {
  publicPath: '/build/front/',
  path: `${__dirname}/web/build/front/`,
  filename: '[name].[hash].js',
  chunkFilename: '[name].[chunkhash].js',
},
...
optimization: {
  splitChunks: {
    chunks: 'all',
    maxInitialRequests: Infinity,
    minSize: 0,
    cacheGroups: {
      vendor: {
        test: /[\\/]node_modules[\\/]/,
        name(module) {
          const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[1];
          return `npm.${packageName}`;
        },
      },
    },
  },
  runtimeChunk: 'single',
},

Я прочитал множество вещей и, наконец, нашел несколько способов справиться с этим: - manifest.json с content_scripts, но я не уверен, потому что он должен описывать полную презентацию страницы, и я просто хочу загрузить некоторые файлы.- webpack-manifest-plugin или assets-webpack-plugin .Кажется, он создаст файл json с именем всех js-скриптов, которые мне нужны для точки входа.

Я не знаю, является ли это хорошим способом сделать то, что я хочу (то, что я думаю, что хочу).Есть ли более простой / лучший способ?Таким образом, я должен включить манифест и сделать цикл в массиве для загрузки каждого скрипта?это не совсем многоразово ...

Спасибо за все ваши идеи!

...