Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

121
Visualizações
Necesito escribir una tarea Gulp personalizada que elimine atributos de mi HTML

Necesito una tarea de Gulp que revisará todos los documentos HTML asignados y eliminará ciertos atributos (como estilo=""). Pensé que podría haberlo hecho de la misma manera que lo hago a través del navegador, pero parece que no. Esto es lo que estoy tratando de hacer:

 // function to take multiple attributes from an element const discardAttributes = (element, ...attributes) => attributes.forEach((attribute) => element.removeAttribute(attribute)); // run the function on multiple elements document.querySelectorAll("table, thead, tbody, tr, th, td").forEach((elem) => { discardAttributes(elem, "cellspacing", "cellpadding", "width", "style"); });

Luego me gustaría tomar la fórmula anterior y crear un gulp.task así:

 const gulp = require("gulp"); gulp.task("clean", async () => { gulp.src("src/*.html") .pipe(discardAttributes()) .pipe(gulp.dest("dist")); });

Si hay un complemento que pueda usar que haga esto, por favor comparta, pero también, me gustaría aprender cómo hacerlo manualmente de esta manera.

¿Necesitaría usar through2?

Gracias.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede usar alguna biblioteca de nodo dom y envolverla con trago. Por ejemplo, podría probar jsdom y wrapper gulp-dom:

 const gulp = require('gulp'); const dom = require("gulp-dom"); gulp.task("default", async () => { gulp.src("src/*.html") .pipe(dom(function() { // function to take multiple attributes from an element const discardAttributes = (element, ...attributes) => attributes.forEach((attribute) => element.removeAttribute(attribute)); // run the function on multiple elements return this.querySelectorAll("table, thead, tbody, tr, th, td").forEach((elem) => { discardAttributes(elem, "cellspacing", "cellpadding", "width", "style"); }); })) .pipe(gulp.dest("dist")); });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda