Укажите папки для просканированных каталогов purifyCSS - PullRequest
0 голосов
/ 05 мая 2020

Я хочу использовать purifyCSS в Laravel -mix . Я хочу, чтобы purifyCSS проверял только resourecs/view/vue/**/*.blade.php и никаких других файлов.

Как я обнаружил, здесь , можно использовать

mix.sass('resources/assets/sass/app.scss', 'css')
   .options({
        purifyCss: {
            paths: ['resources/test/welcome.blade.php']
        }
    });

для указания дополнительных файлов.

Однако это заставляет purifyCSS проверять не только resources/test/welcome.blade.php, но и все другие файлы лезвий в resources/views и все файлы *.vue в resources/js. Я хочу, чтобы purifyCSS проверял только resourecs/view/vue/**/*.blade.php и игнорировал все остальное.

Кажется, что в /node_modules/laravel-mix/src/webpackPlguins/CssPurifierPlugin.js путь всегда содержит resources/views и resources/js, а другие пути из конфигурации просто добавляются:

let Purifier = require('purifycss-webpack');
let glob = require('glob');

class CssPurifierPlugin {
    /**
     * Build up the plugin.
     */
    static build() {
        let bladeFiles = glob.sync(
            Mix.paths.root('resources/views/**/*.blade.php')
        );
        let vueFiles = glob.sync(
            Mix.paths.root('resources/js/**/*.vue')
        );

        let paths = bladeFiles.concat(vueFiles);

        if (Config.purifyCss.paths) {
            paths = paths.concat(Config.purifyCss.paths);
        }

        return new Purifier(
            Object.assign({}, Config.purifyCss, {
                paths,
                minimize: Mix.inProduction()
            })
        );
    }
}

module.exports = CssPurifierPlugin;

Итак, мне интересно, как я могу настроить purifyCSS в webpack.mix.js, чтобы он придерживался только одного указанного пути?

...