2014-09-26 1 views
0

gulp rename을 스트림의 파일에 사용하려고합니다. 나는 다음과 같은 변환 얻을 호핑 된gulp rename이 예상대로 작동하지 않습니다.

var jsFiles = gulp.src(['app/scripts/modules.js', 'app/scripts/**/*.js']) 
    .pipe(map(function(path, callback) { 
     path.dirname = Path.join('./dist', 'scripts', path.basename + path.extname); 
    })); 

: 이것은 내 코드 대신

app/scripts/*  -> dist/scripts/* 
    app/scripts/abc/* -> dist/scripts/abc/* 

를, 내가 가지고 :

app/scripts/*  -> app/scripts/dist/scripts/* 
app/scripts/abc/* -> app/scripts/dist/scripts/abc/* 

이 코드에 어떤 문제가 있습니까? 어쨌든, 대안은 맵 기능과 같습니다. 나는 이것을 찾았다 : https://github.com/dominictarr/map-stream 그러나 나는이 필요를 위해 그것을 사용하는 방법을 이해할 수 없다.

답변

0

일치하는 파일 경로의 시작 디렉토리를 결정하려면 gulp.src에 기준을 지정할 수 있습니다. 기본값은 process.cwd()이지만 원하는대로 변경할 수 있습니다.

따라서 상대 경로는 지정한 base 부분을 모두 자릅니다.

+0

dist/scripts /에있는 파일을 신뢰할 수 없도록 작업을 비동기로 실행하고 싶습니다. 각 파일의 이름을 index.html에 삽입하려면 이름을 변경하기 만하면됩니다. – Naor

+0

그러면'gulp.src' 매개 변수의'base' 옵션을 설정해야합니다. 업데이트 된 대답을보십시오. –

+0

글쎄, 당신이 이것을 받아 들였기 때문에 나는 나의 대답의 모든 첫 부분을 지울 것이다. :) –