Хэш Weback MD5 не меняется после PurgeCSS - PullRequest
0 голосов
/ 28 января 2019

Я использую 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.

...