node.js - secreto - te voy a cambiar el nombre descargar
Buscando la manera de copiar archivos en trago y cambiar el nombre en base al directorio padre (5)
La mejor manera es configurar su base
al buscar archivos, de esta manera:
gulp.src(''./client/src/modules/**/index.js'', {base: ''./client/src/modules''})
.pipe(gulp.dest(''./build/public/js/''));
Esto le dice a gulp
que use el directorio de los módulos como punto de partida para determinar las rutas relativas.
(Además, puede usar /**/*.js
si desea incluir todos los archivos JS ...)
Para cada módulo tengo algunos archivos que deben copiarse en el directorio de compilación, y estoy buscando una manera de minimizar el código repetido de esto:
gulp.src(''./client/src/modules/signup/index.js'')
.pipe(gulp.dest(''./build/public/js/signup''));
gulp.src(''./client/src/modules/admin/index.js'')
.pipe(gulp.dest(''./build/public/js/admin''));
a algo como esto:
gulp.src(''./client/src/modules/(.*)/index.js'')
.pipe(gulp.dest(''./build/public/js/$1''));
Obviamente, lo anterior no funciona, ¿hay alguna manera de hacerlo, o una npm que ya hace esto?
Gracias
No es la respuesta, pero se aplica a la apariencia de esta pregunta en los resultados de búsqueda.
Para copiar archivos / carpetas en trago
gulp.task(''copy'', () => gulp
.src(''index.js'')
.pipe(gulp.dest(''dist''))
);
Se conservará el uso para preservar el árbol de directorios de entrada.
.pipe(gulp.dest(function(file) {
var src = path.resolve(SRC_FOLDER);
var final_dist = file.base.replace(src, '''');
return DIST_FOLDER + final_dist;
}))
Usando esto, puede poner src: .src(SRC_FOLDER + ''/**/*.js'')
.
Las otras respuestas no funcionaron para mí (como usar base:
en src()
}, porque algunos complementos aplanan el árbol de directorios.
copiar archivos en paralelo
gulp.task(''copy'', gulp.parallel(
() => gulp.src(''*.json'').pipe(gulp.dest(''build/'')),
() => gulp.src(''*.ico'').pipe(gulp.dest(''build/'')),
() => gulp.src(''img/**/*'').pipe(gulp.dest(''build/img/'')),
)
);
return gulp.src(''./client/src/modules/(.*)/index.js'')
.pipe(gulp.dest(''./build/public/js/$1''));
Trabajó para mi !