Bonjour,

gulp-uncss est un plugin qui m'a l'air intéressant et puissant à utiliser pour supprimer le CSS inutile.

Il marche partiellement dans mon cas mais je pense que je n'ai pas bien compris les paramètres demandés.
Il me trouve des classes, mais il en manque pas mal et je précise que ces classes ne sont pas générées par un fichier JavaScript ou PHP.

Je travaille avec des fichiers PHP aussi pour mes vues, mais cela n'a pas l'air de le déranger si je mets en marche EasyPHP pour qu'il est un serveur local pour faire tourner mes fichiers.

Voici mon code :

// Variables des différents chemins de l'application
var paths = {
    "web"       : "dev/web",
    "css"       : "dev/web/public/css",
    "distCss"   : "dist/web/public/css"
};

var localDev = "http://127.0.0.1/test/", // Mon site web en local à analyser
    mainFile = "app.php", // Mon fichier principal PHP où toute les URL vont passez par lui (je travaille avec un routeur, en MVC)
    pathViews = paths["web"]+"/src/**/*.php";  // Chemins des fichiers templates et views

// Supprimer le CSS inutile pour l'application
gulp.task("uncssApp", function() {
    return gulp.src(paths["css"]+"/app.min.css")
        .pipe(uncss({
            html: [mainFile, pathViews, localDev]
        }))
        .pipe(plumber())
        .pipe(minifyCss())
        .pipe(gulp.dest(paths["distCss"]));
});

// Supprimer le CSS inutile pour l'administration
gulp.task("uncssAdmin", function() {
    return gulp.src(paths["css"]+"/admin.min.css")
        .pipe(uncss({
            html: [mainFile, pathViews, localDev+"/admin"]
        }))
        .pipe(plumber())
        .pipe(minifyCss())
        .pipe(gulp.dest(paths["distCss"]));
});

Quelqu'un peut t'il me détailler les paramètres pour que le plugin fonctionne correctement ?

Autre commentaire : Je ne vois pas comment le plugin peut accéder à mon administration vu qu'il y a une sécurité par authentification + token

4 réponses


Grafikart
Réponse acceptée

Perso je ne suis pas fan d'unCSS car si tu as des styles ajouté en JS par exemple il le détectera pas et il va galérer pour aller sur des zones avec restrictions. Donc par rapport à ton souci le mieux et de faire les règles en évitant de faire trop de règles :)

J'ai déjà chercher sur internet sinon je ne poserais pas la question sur le forum :/

Ba parce que je bloque et cela fait trop de temps que je passe dessus déjà
Justement un forum s'est fait pour s'entraider et aider les autres par la même occasion

Si tu ne veux pas m'aider cela sert à rien de poster des messages, ça ne résoudra pas mon problème

Oui c'est le problème il me faut faire plein de règles, enfaite je crois que je vais abandonner ce plugin.
Car j'ai les classes des tableaux en PHP, des classes en JS pour le menu, la liste est longue et il faut les sélecteurs CSS précis comme je travaille en LESS ce n'est pas évident sinon il ne trouve pas si on met une classe généraliste.

Après cela est dommage car les fichiers CSS sont de taille moindre en utilisant un framework CSS où on n'utilise pas la moitié même le quart du framework
Merci pour ta réponse