Хэш Weback MD5 не меняется после PurgeCSS

Я использую Purgecss через Webpack(er) для удаления неиспользуемых классов CSS Tailwind в приложении.

Все основы работают, но я сталкиваюсь с интересной проблемой, связанной с кэшированием.

Хэш файла, сгенерированный webpack, кажется, предназначен для файла перед его обработкой purgecss. Это означает, что даже если содержимое файла изменяется, поскольку файл CSS кэшируется на CDN, изменения не регистрируются (если только я не очищаю кэш CDN или явно не изменяю файл CSS).

Любые предложения о том, как изменить хэш файла, чтобы основываться на конечном результате?

Вот моя конфигурация для Purgecss:

process.env.NODE_ENV = process.env.NODE_ENV || 'production'

const environment = require('./environment')

const path = require('path')
const PurgecssPlugin = require('purgecss-webpack-plugin')
const glob = require('glob-all')


// ensure classes with special chars like -mt-1 and md:w-1/3 are included
class TailwindExtractor {
  static extract(content) {
    return content.match(/[A-z0-9-:\/]+/g);
  }
}

environment.plugins.append('PurgecssPlugin', new PurgecssPlugin({
  paths: glob.sync([
    path.join(__dirname, '../../app/javascript/**/*.js'),
    path.join(__dirname, '../../app/views/**/*.erb')
  ]),
  extractors: [ // if using Tailwind
    {
      extractor: TailwindExtractor,
      extensions: ['html', 'js', 'erb']
    }
  ]
}));

module.exports = environment.toWebpackConfig()

Спасибо Скотт

PS Я создал полный пример, если это поможет: https://github.com/scottwater/rails_webpacker_with_purgecss_example.

0 ответов

Другие вопросы по тегам