2015-04-08 12 views
9

tôi có đường ống sauLàm thế nào tôi có thể lấy gulp-typescript để xuất ra cùng thư mục với tệp nguồn?

function typescripts() { 
    return gulp.src(paths.watchedFiles.ts) 
     .pipe(cached('typescripts')) 
     .pipe(plumber()) 
     .pipe(addsrc(paths.ts.include)) 
     //TODO: Need to eliminate the original source path (ex. /users/userName) from the sourcemap file. 
     .pipe(sourcemaps.init()) 
     .pipe(ts(tsProjectMode, undefined, ts.reporter.fullReporter(true))).js 
     .pipe(gulpIgnore.exclude(paths.ts.excludeFromPostCompilePipeline)) 
     .pipe(ngAnnotate({ 
      remove: false, 
      add: true, 
      gulpWarnings: false //typescript removes base path for some reason. Warnings result that we don't want to see. 
     })) 
     .pipe(sourcemaps.write('.', {includeContent: false})) 
     .pipe(gulp.dest(paths.ts.basePath)); 
    } 

tôi dường như phải làm "mã cứng" con đường đích dựa trên thư mục gốc của con đường src. Nếu đường dẫn src của tôi là app/modules/**.ts đường dẫn đích của tôi phải là app/modules. Điều này hạn chế tôi sử dụng một đường dẫn src gốc duy nhất và tôi không thể sử dụng anh chị em.

Tôi muốn có thể tạo src ['path1/**/*.ts', 'path2/**/*.ts] và có đầu ra được chuyển đổi được ghi vào cùng thư mục chứa tệp nguồn.

Trả lời

6

Nếu bạn có file nguồn như thế:

gulp.src(['path1/**/*.ts', 'path2/**/*.ts]) 

Thân nó tương đương với:

gulp.src(['./path1/**/*.ts', './path2/**/*.ts], { base: '.' }) 

Điều đó có nghĩa, bạn có thể đặt đích để:

gulp.dest('.') 

từ đó là mẫu số chung thấp nhất. Phần còn lại được thực hiện bởi Gulp.

+17

Đối với tôi kết quả cấu hình này trong tệp đầu ra được đặt vào thư mục gốc. Tôi đã phải thêm 'base' tùy chọn để có được kết quả mong muốn:' gulp.src (paths.ts, {base: "."}) ' –

+0

hoàn hảo, thêm cơ sở làm việc cho tôi cũng như –

+0

@DarkDaskin Tôi ước tôi đã đọc nhận xét này trước. Bây giờ tôi có 100 tập tin để dọn sạch từ gốc của tôi ... giải pháp này là cần thiết cho tôi quá. Trên một lưu ý khác, bạn nên làm cho câu trả lời này riêng biệt. –

Các vấn đề liên quan