我使用gulp-typescript
和gulp-sourcemaps
來編譯帶有源圖的TypeScript。我想將.js
和源映射文件都輸出到與原始文件.ts
相同的目錄中。gulp-typescript with gulp-sourcemap:將文件輸出到同一目錄
我正在使用tsconfig.json
文件來配置TypeScript,並且我正在使用typings
來管理TypeScript定義文件。我所有的代碼都在js
目錄中。這裏是我的項目結構:
project root
|-- js/
| |-- subdir/
| | |-- someScript.ts
| |-- app.ts
|-- typings/
| |-- someDefinitionFile.d.ts
|-- gulpfile.js
|-- tsconfig.json
現在我想app.js
出現在js
目錄,someScript.js
出現在js/subdir
。另外,在Chrome中進行調試時,我希望在「來源」標籤中保留相同的文件夾結構。
我已經配置了以下一飲而盡任務是:
var gulp = require("gulp");
var ts = require("gulp-typescript");
var tsProject = ts.createProject("tsconfig.json");
var sourcemaps = require('gulp-sourcemaps');
gulp.task("ts", function() {
var tsResult = tsProject
.src()
.pipe(sourcemaps.init())
.pipe(ts(tsProject)).js
.pipe(sourcemaps.write("."))
.pipe(gulp.dest("js"));
});
這有效地輸出正確的目錄中的文件.js
。但是,在Chrome中運行此操作並打開開發工具時,.ts
文件位於根目錄下的「源」目錄中,這意味着源映射文件包含不正確的根目錄。
應該更改什麼以在同一位置顯示.ts
文件和.js
文件?
注:這個問題類似於this一個,但我想用tsconfig.json
,因而無法使用gulp.src
或其base
財產。