Programing

Gulp-파일 복사 및 이름 변경

lottogame 2021. 1. 8. 07:42
반응형

Gulp-파일 복사 및 이름 변경


저는 Gulp를 처음 접했습니다. 기본적으로 수정 된 JavaScript 파일을 감시하고 새 이름으로 새 복사본을 만들려고합니다. (결국 일부 처리가 이루어 지지만 로마는 하루 만에 지어지지 않았습니다).

내 (순진한) 시도는 다음과 같습니다.

gulp.task('default', function() {

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

});

이렇게하면 수정 된 파일이 foobar.js라는 폴더에 성공적으로 복사됩니다. gulp.dest('foobar.js')간단히 src 파일을 복사하고 이름을 바꿀 수있는 간단한 것이 있습니까?


편집하다

제자리에 복사한다는 것은 수정 된 파일을 가져 와서 현재 위치 에 새 이름으로 바로 복사하고 싶다는 의미 입니다. 파일 (Windows)을 클릭하고 control-c control-v를 누른 다음 결과 파일의 이름을 변경하는 것과 같습니다.


무슨 뜻인지 100 % 확실하지 않습니다

복사 및 이름 바꾸기 ...

그러나 현재 코드에 따라 다음을 수행 할 수 있습니다.

  1. 상위 디렉토리의 모든 .js파일을 감시 하고
  2. cwd(현재 작업 디렉토리)에 복사 하고
  3. 소스 파일에 관계없이 모든 사본의 이름을 동일하게 지정합니다.

그런 다음 gulp-rename사용하여 그렇게 할 수 있습니다 .

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('.'));
  });
});

이 경우 출력 파일 이름은 newFileName.js

모듈을 사용하려면 gulp-renamenpm (예 :)으로 패키지 를 설치해야합니다 npm install gulp-rename.

더 많은 예제는 npm @ https://www.npmjs.com/package/gulp-rename#usage 의 패키지 세부 정보 페이지에서 확인할 수 있습니다.


거기에 도착하는 것은 그리 좋지 않았지만 결국 이것이 내가 원하는 것 같습니다 (중간에 일부 ES6 트랜스 파일 포함).

키는에 대한 호출에서 기본 속성이있는 옵션 개체로 나타납니다 src. 그것은 호출에서 현재 파일의 경로를 유지하는 데 필요한 것 같습니다 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(''));
        }
    });
});

참조 URL : https://stackoverflow.com/questions/28593660/gulp-copy-and-rename-a-file

반응형