Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

480
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!