Nuxt/examples/with-purgecss/nuxt.config.js

42 lines
1023 B
JavaScript
Raw Normal View History

const path = require('path')
const PurgecssPlugin = require('purgecss-webpack-plugin')
const glob = require('glob-all')
class TailwindExtractor {
static extract(content) {
return content.match(/[A-z0-9-:\/]+/g) || [];
}
}
module.exports = {
build: {
extractCSS: true,
postcss: [
require('tailwindcss')('./tailwind.js'),
require('autoprefixer')
],
extend (config, { isDev }) {
if (!isDev) {
config.plugins.push(
new PurgecssPlugin({
// purgecss configuration
// https://github.com/FullHuman/purgecss
paths: glob.sync([
path.join(__dirname, './pages/**/*.vue'),
path.join(__dirname, './layouts/**/*.vue')
]),
extractors: [
{
extractor: TailwindExtractor,
extensions: ["vue"]
}
],
whitelist: ['html', 'body']
})
)
}
}
},
css: ['~/assets/css/tailwind.css']
}