私はこのファイルをチュートリアルから貼り付けました(そしてそれに直面しましょう、ドキュメント、tuts、および例の間の格差は驚くべきものです):
/scripts/tsconfig.json:
{
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"module": "commonjs",
"noEmitOnError": true,
"noImplicitAny": false,
"outDir": "../wwwroot/appScripts/",
"removeComments": false,
"sourceMap": true,
"target": "es5",
"moduleResolution": "node"
},
"exclude": [
"node_modules",
"typings/index",
"typings/index.d.ts"
]
}
オプションは保存時にコンパイルするように設定されていますが、TypeScriptファイルを保存すると、JavaScript出力はソースファイルの「下」または「添付」になります。
TypeScript
|
--test.ts
|
--test.js
、それは物理的にソースと同じディレクトリ/TypeScript
にあります。 tsconfig.json
が欠落している場合、コンパイラーは文句を言いますが、それが存在する場合、そしてそれが間違いなく存在する場合、コンパイラーは"outDir": "../wwwroot/appScripts/"
設定を無視します。
私はGulpを初めて使用しますが、Gulpタスクは私には問題ないように見えます。
var tsProject = ts.createProject('scripts/tsconfig.json');
gulp.task('ts', function (done) {
//var tsResult = tsProject.src()
var tsResult = gulp.src([
"scripts/*.ts"
])
.pipe(ts(tsProject), undefined, ts.reporter.fullReporter());
return tsResult.js.pipe(gulp.dest('./wwwroot/appScripts'));
});
オプションは保存時にコンパイルするように設定されています
ファイルを保存すると、その単一のファイルとそのファイルにインポートされたファイルが自動的にコンパイルされます。 IDEから自動コンパイルオプションをオフにして、コンパイラがtsconfig.jsonファイルを検討するようにします。
コマンドラインで入力ファイルを指定した場合、tsconfig.jsonファイルは無視されます。
ディレクトリにtsconfig.jsonファイルが存在する場合は、そのディレクトリがTypeScriptプロジェクトのルートであることを示しています。 tsconfig.jsonファイルは、プロジェクトのコンパイルに必要なルートファイルとコンパイラオプションを指定します。プロジェクトは、次のいずれかの方法でコンパイルされます。
Tsconfig.jsonの使用
入力ファイルなしでtscを呼び出すことにより、この場合、コンパイラーは、現在のディレクトリーから始まり、親ディレクトリー・チェーンまで続くtsconfig.jsonファイルを検索します。
入力ファイルなしでtscを呼び出し、tsconfig.jsonファイルを含むディレクトリのパスを指定する--project(または単に-p)コマンドラインオプションを呼び出す。
https://www.typescriptlang.org/docs/handbook/tsconfig-json.html