mirror of https://github.com/nuxt/nuxt.git
42 lines
1023 B
JavaScript
42 lines
1023 B
JavaScript
|
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']
|
||
|
}
|