Принудительное изменение vue js / css активов га sh (отпечаток пальца) - PullRequest
0 голосов
/ 17 февраля 2020

Здание vue приложение в производстве, как в:

NODE_ENV=production vue-cli-service build

Добавляет данные c активов га sh отпечатки пальцев, как показано ниже:

  dist/js/chunk-vendors.d710a916.js      986.81 KiB        297.69 KiB
  dist/js/app.ad3f94f2.js                231.00 KiB        56.02 KiB
  dist/3115008e.worker.js                30.59 KiB         9.98 KiB
  dist/css/app.7eecdb26.css              174.87 KiB        24.16 KiB
  dist/css/chunk-vendors.565b13d4.css    42.77 KiB         6.81 KiB

Активы обслуживаются с высоким maxage кешем. Из-за некоторых проблем, связанных с заголовками этих активов * stati c, я хочу принудительно переименовать все активы, предпочтительно путем изменения длины отпечатка ha sh (или алгоритма).

Итак, в vue.config.js я добавил:

module.exports = {
    configureWebpack: {
        output: {
            hashFunction: 'sha256',
            hashDigestLength: 8,
        },
    ...
}

Проблема в том, что он влияет только на dist/3115008e.worker.js (ха sh изменяется, а длина увеличивается до 8). Все остальные имена активов остаются без изменений.

Какие изменения необходимы для изменения длины (или алгоритма) ha sh отпечатков пальцев для поставщиков блоков и приложений?

1 Ответ

0 голосов
/ 19 февраля 2020

Обновление: в итоге я заставил активы, которые * sh изменились, изменив параметр hashType загрузчика в vue.config.js (который по умолчанию выглядит как 'md5'):

module.exports = {
  ...
  chainWebpack: config => {
    config.module
        .rule('vue')
        .use('vue-loader')
        .loader('vue-loader')
        .tap(options => {
            options.hashType = `sha1`
            return options
        })
},

Я не был ' в состоянии изменить длину га sh. Кажется, он жестко закодирован в @vue/cli-service": "^4.1.2"

...