私はgulp-typescript
とgulp-sourcemaps
を使って、ソースマップでTypeScriptをコンパイルしています。 .js
と元のマップファイルの両方を元の.ts
ファイルと同じディレクトリに出力したいとします。gulp-typesmap with gulp-sourcemap:同じディレクトリに出力するファイル
TypeScriptを設定するのにtsconfig.json
ファイルを使用していますが、TypeScript定義ファイルを管理するのにtypings
を使用しています。私自身のコードはすべて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でデバッグするときに、[ソース]タブに同じフォルダ構造を保持したいと考えています。
私は、このために、次の一気タスク設定した:これは効果的に正しいディレクトリ内.js
ファイルを出力し
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"));
});
を。ただし、Chromeでこれを実行して開発ツールを開くとき、.ts
ファイルはルートの下の 'source'ディレクトリにあります。つまり、ソースマップファイルに不正なルートが含まれています。
.ts
ファイルと.js
ファイルを同じ場所に表示するには、何を変更する必要がありますか?
注:この質問は、私はtsconfig.json
を使用することを除いて、this 1と同様であるので、gulp.src
またはそのbase
プロパティを使用することはできません。