2016-03-29 30 views
3

Babel, komut satırından çalıştırıldığında sourcemaps üretmeye çalışıyorum. Sourcemaps'lar etrafındaki Babel docs, daha fazla iş akışına doğru hedeflenmiş gibi görünüyor ve bunun komut satırına nasıl dönüştüğünden emin değilim.Komut satırı kullanılarak yapılan kalıp diyagramları Babel

Ben

tsc -p ./src 

Benim tsconfig.json kullanarak typescript derleme:

Bu wwwroot/app.js ve wwwroot/app.js.map üretir
{ 
    "compilerOptions": { 
     "module": "amd", 
     "noImplicitAny": true, 
     "removeComments": false, 
     "preserveConstEnums": true, 
     "out": "wwwroot/app.js", 
     "sourceMap": true, 
     "target": "ES6" 
    }, 
    "files": [ 
     "App.ts" 
    ] 
} 

.

Sonra app.js üzerinde babel çalıştırın: Bu app.js değiştirir ama artık hat yukarı iki anlam özgün haliyle app.js.map bırakır

babel ./wwwroot/app.js -o ./wwwroot/app.js --presets es2015 --compact false --inputSourceMap ./wwwroot/app.js.map --sourceMaps both 

.

Son app.js'mi harita dizilim kaynağımla eşleştiren yeni bir sourcemap oluşturmak için babel adımı nasıl alabilirim?

+0

komut satırı bayrakları hatalıydı, ben gerekiyordu Aksine --sourceMaps daha. usi olmak ng - kaynak haritaları. "--input-source-map" komut satırında mevcut gibi görünmüyor ... – zyzof

cevap

3

ben de aynı şeyi arıyoruz ve bu tespit edildi: kullanılırken CLI desteklenen ve yalnızca değildir inputSourceMap için bir dosya adı belirterek, gelişmiş seçenekler de babel --name=value ile kullanılabilir iken, Temelde https://phabricator.babeljs.io/T6911

kod

Gulp sourcemaps with TypeScript and Babel sizin için yararlı olabilir. Hem JS hem de orijinal TS dosyalarına referans veren sourcemaps'lar üretebiliyorum. Ancak (bu cevabın yorumlarında da belirtildiği gibi), doğru sourceRoot'u kullanmak için onu alamıyorum, bu yüzden .js.map dosyaları, gerçekte var olmayan kaynak konumlarına işaret eder.

Çok tatmin edici değil. :-(İşte

+0

TS transpilasyon için bir komut satırı tsc ve babel ve sourcemapping için gulp kombinasyonu kullanarak sona erdi. Benim tsconfig.json '' sourceMap '' içerir: true ', sonra gulp post sourcemaps sourcemaps.init ({loadMaps: true}) – zyzof

+0

kullanarak yanlış girdi kaynak oluşturma sourcemaps kendi içinde kaynak (bu gulp-sourcemaps varsayılan davranıştır) – zyzof

+0

"inputSourceMap CLI tarafından desteklenmez" benim özgün soruya kabul edilen cevaptır :) – zyzof

2

Ben o iş yapılmış nasıl senin tsconfig.json olarak aşağıdaki seçenekleri gerekir:.

{ 
    "compilerOptions": { 
    "inlineSourceMap": true, 
    "inlineSources": true 
    } 
} 

Sonra babel-cli çalıştırdığınızda, size --source-maps inline geçmesi gerekir. İşte build dizine tsc çıkışlarını varsayar örnek npm senaryo ve bu babel aynı dizine çıktısı: Ben kullanıyordum

tsc && babel build -d build --source-maps inline