在清除CSS之后,Weback MD5哈希不会更改

时间:2019-01-28 19:37:26

标签: webpack webpacker tailwind-css

我正在通过Webpack(er)使用Purgecss来删除应用程序上未使用的Tailwind CSS类。

所有基础知识都可以使用,但是我遇到了一个与缓存有关的有趣问题。

由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()

谢谢, 斯科特

P.S。如果有帮助,我建立了一个完整的示例:https://github.com/scottwater/rails_webpacker_with_purgecss_example

0 个答案:

没有答案