Development Tip

Gulp로 여러 파일을 복사하고 폴더 구조를 유지하는 방법

yourdevel 2020. 10. 29. 20:05
반응형

Gulp로 여러 파일을 복사하고 폴더 구조를 유지하는 방법


Gulp를 사용하여 한 폴더에서 다른 폴더로 파일을 복사하려고합니다.

gulp.task('move-css',function(){
  return gulp.src([
    './source/css/one.css',
    './source/other/css/two.css'

    ]).pipe(gulp.dest('./public/assets/css/'));
});

위의 코드는 복사됩니다 one.csstwo.css받는 public/assets/css폴더.

그리고 내가 사용 gulp.src('./source/css/*.css')하면 모든 CSS 파일을 원하는 public/assets/css폴더가 아닌 폴더로 복사합니다 .

여러 파일을 선택하고 폴더 구조를 유지하려면 어떻게합니까?


이를 달성하려면을 지정하십시오 base.

¶ base -cwd에 상대적인 폴더를 지정하십시오. 기본값은 glob이 시작되는 위치입니다. 저장할 때 파일 이름을 결정하는 데 사용됩니다..dest()


귀하의 경우에는 다음과 같습니다.

gulp.task('move-css',function(){
  return gulp.src([
      './source/css/one.css',
      './source/other/css/two.css'
  ],  {base: './source/'}) 
  .pipe(gulp.dest('./public/assets/'));
});

폴더 구조 :

|-gulpfile.js
|-source
|   |-css
|   |-other
|      |-css
|-public
|   |-assets

gulp-flatten을 사용하고 다음 구성을 사용합니다.

var gulp = require('gulp'),
    gulpFlatten = require('gulp-flatten');

var routeSources = {
  dist:  './public/',
  app: './app/',
  html_views: {
    path: 'app/views/**/*.*',
    dist: 'public/views/'
  }
};

gulp.task('copy-html-views', task_Copy_html_views);
function task_Copy_html_views() {
  return gulp.src([routeSources.html_views.path])
      .pipe(gulpFlatten({ includeParents: 1 }))
      .pipe(gulp.dest(routeSources.html_views.dist));
}

그리고 gulp-flatten에 대한 문서를 볼 수 있습니다 : Link

참고URL : https://stackoverflow.com/questions/30067942/how-to-copy-multiple-files-and-keep-the-folder-structure-with-gulp

반응형