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

179
Visualizações
Agrupe las dependencias .js y .css de package.json con gulp

Estoy tratando de convertir un proyecto antiguo que usa Bower + gulp (+ npm) en algo similar, que no usa Bower pero conserva la mayor parte de Gulp.

Estoy atascado con la reproducción del equivalente de wiredep, es decir, seleccionando todos los .js y .css relevantes de las dependencias de terceros (que ahora se han movido de Bower a package.json ), para usarlos para la inyección de HTML o para agrupar todos los . js/.css en un solo archivo.

Antes, estaba haciendo esto, usando una combinación de wiredep e inject:

 gulp.task('inject-html', ['compile-styles'], function () { $.util.log('injecting JavaScript and CSS into the html files'); var injectStyles = gulp.src(config.outputCss, { read: false }); var injectScripts = gulp.src(config.js, { read: false }); var wiredepOptions = config.getWiredepDefaultOptions(); var injectOptions = { ignorePath: ['src', '.tmp'], addRootSlash: false, }; var wiredep = require('wiredep').stream; return gulp.src(config.html) .pipe(wiredep(wiredepOptions)) .pipe($.inject(injectStyles, injectOptions)) .pipe($.inject(injectScripts, injectOptions)) .pipe(gulp.dest(config.srcDir), {overwrite: true}); });

Ahora, logré hacer esto para los archivos .js:

 gulp.task('bundle-deps', function () { var deps = Object.keys(packageJson.dependencies) .map(module => `node_modules/${module}/**/*.js`); // set up the browserify instance on a task basis var b = browserify({ entries: './package.json', debug: true }); return b.bundle() .pipe(source('genemap-lib.js')) .pipe(buffer()) .pipe(sourcemaps.init({loadMaps: true})) // debug info for the browser .pipe(uglify()) .pipe(sourcemaps.write('./')) .pipe(gulp.dest('./dist/js/')); });

Esto funciona en la construcción de una sola dependencia .js. Eso no es como la inyección anterior, pero estaría bien con eso.

Sin embargo, no puedo encontrar ninguna forma de hacer lo mismo con los archivos .css, porque esto:

 gulp.task('bundle-deps-css', function () { var deps = Object.keys(packageJson.dependencies); var depsCss = deps.map(module => `node_modules/${module}/**/*.css`); return gulp.src( depsCss ) .pipe(concatCss("genemap-lib.css")) .pipe(gulp.dest('dist/styles/')); });

recoge algunos */demo/demo.css y luego aparece el error de que tiene un error de sintaxis.

Estoy pensando que los métodos anteriores son incorrectos, seleccionar todos los .js/.css es demasiado tonto, debería haber una forma de seleccionar los archivos exportados de la biblioteca, no todos los que se pueden encontrar en su directorio (es decir, el equivalente de trago de profundidad de cable).

¿Pero como hacerlo? ¿Es posible con Gulp? ¿Debo migrar a algo como webpack? ¿Y el hilo también?

about 4 years ago · Juan Pablo Isaza
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