Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

478
Vistas
Gulp - copiar y renombrar un archivo

Soy extremadamente nuevo en Gulp. Básicamente, estoy tratando de buscar un archivo JavaScript modificado y luego hacer una nueva copia con un nuevo nombre. (eventualmente habrá algo de procesamiento, pero Roma no se construyó en un día).

Mi (ingenuo) intento es este:

 gulp.task('default', function() { return gulp.watch('../**/**.js', function(obj){ gulp.src(obj.path) .pipe(gulp.dest('foobar.js')); }); });

Esto toma el archivo modificado y lo copia con éxito en una carpeta que ahora se llama foobar.js. ¿Hay algo simple con lo que pueda reemplazar gulp.dest('foobar.js') que simplemente copie y cambie el nombre del archivo src en su lugar?


EDITAR

Por copiar en el lugar, quiero decir que quiero tomar el archivo modificado y hacer una copia justo donde está actualmente con un nuevo nombre. El equivalente a hacer clic en el archivo (en Windows) y presionar control-c control-v, luego cambiar el nombre del archivo resultante.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No estoy 100% seguro de lo que quieres decir con

copiar y renombrar... en su lugar

Pero, según su código actual, si simplemente desea:

  1. Mire todos los archivos .js en el directorio principal y
  2. Cópielos en el cwd (directorio de trabajo actual) y
  3. Asigne el mismo nombre a todas las copias, independientemente del archivo de origen .

Entonces podrías usar gulp-rename para hacer precisamente eso:

 var gulp = require('gulp'); var rename = require('gulp-rename'); gulp.task('default', function() { return gulp.watch('../**/**.js', function(obj) { gulp.src(obj.path) .pipe(rename('newFileName.js')) .pipe(gulp.dest('.')); }); });

En este caso, el nombre del archivo de salida es newFileName.js

Para usar el módulo, deberá instalar el paquete gulp-rename con npm (es decir: npm install gulp-rename ).

Hay más ejemplos disponibles en la página de detalles del paquete en npm @ https://www.npmjs.com/package/gulp-rename#usage

over 4 years ago · Santiago Trujillo Denunciar

0

No fue agradable llegar allí, pero al final parece que esto es lo que quiero (con algo de transpilación de ES6 en el medio).

La clave parece ser el objeto de opciones con una propiedad base en la llamada a src . Eso parece ser lo que se necesita para mantener la ruta del archivo actual en la llamada a dest .

 var gulp = require('gulp'), rename = require('gulp-rename'), babel = require('gulp-babel'); gulp.task('default', function() { return gulp.watch('../**/$**.js', function(obj){ if (obj.type === 'changed') { gulp.src(obj.path, { base: './' }) .pipe(babel()) .pipe(rename(function (path) { path.basename = path.basename.replace('$', ''); })) .pipe(gulp.dest('')); } }); });
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda