5 votes

Comment exclure uniquement les fichiers .min.js dans une tâche gulp, tout en restant dans le même répertoire ?

J'essaie de mettre en place un système de construction pour mon travail frontal, mais je rencontre un problème où le traitement des fichiers se répète en boucle. C'est un problème avec le traitement de mes fichiers js, car je ne sais pas comment exclure uniquement les fichiers dont le suffixe est .min.

La tâche est la suivante

return gulp.src(["!dev/js/*.min.js", "dev/js/*.js"])
        .pipe(plumber())
        .pipe(browserify())
        .pipe(smaps.init())
            .pipe(uglyify({preserveComments: "license"}))
        .pipe(smaps.write())
        .pipe(rename({suffix: ".min"}))
        .pipe(gulp.dest(output_dir));

Cependant, j'ai constaté qu'il cible toujours les fichiers .min.js puisqu'ils sont également considérés comme des fichiers .js. J'ai essayé plusieurs configurations différentes de ces jokers mais je me retrouve toujours avec la tâche qui tourne en boucle en créant example.min.js puis example.min.min.js puis example.min.min.min.js etc.

Alors, comment puis-je traiter uniquement les fichiers qui n'incluent pas le préfixe .min ?

8voto

Himani Agrawal Points 918

Vous pouvez utiliser modèles négatifs pour exclure les fichiers .min.js.

gulp.src(['dev/js/*.js', '!dev/js/*.min.js'])

0voto

iSkore Points 1133

Dans votre gulp mando.

const
    gulpIgnore = require( 'gulp-ignore' ),
    uglify = require( 'gulp-uglify' ),
    jshint = require( 'gulp-jshint' ),
    condition = './**/*.min.js';

gulp.task( 'task', function() {
    gulp.src( './**/*.js' )
        .pipe( jshint() )
        .pipe( gulpIgnore.exclude( condition ) )
        .pipe( uglify() )
        .pipe( gulp.dest( './dist/' ) );
} );

En el condition vous spécifiez votre répertoire. ../ pour revenir en arrière, /dir aller de l'avant

0voto

Aya Salama Points 833

Si vous voulez le faire en une seule chaîne, vous pouvez utiliser :

gulp.src(["dev/js/!(*.min)*.js"])

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X