2016-12-15 13 views
0

私は公式のドキュメントからangularjs v2を学ぼうとしています。tscはどのようにしてコンパイルするのですか?

https://angular.io/docs/ts/latest/tutorial/toh-pt1.html

https://github.com/angular/quickstart

上記のリンクにあるチュートリアルを追いながら、私はnpm startを実行した後、ソフトウェアはTSスクリプトの変化を検出し、JSにすぐにコンパイルすることが可能であることに気づきました。これは素晴らしいです!

私はこれを可能にしたコードがどこにあるのか把握しようとしています。 package.jsonから

"scripts": { 
    "start": "tsc && concurrently \"tsc -w\" \"lite-server\" ", 

私はtscコンパイルする責任があることを推測しています。私が困惑しているのは、tscがコンパイルするtsファイルの場所を知っているところです。 tscの設定はどこで設定できますか?コンパイルプロセスを最適化する設定はありますか?

答えて

2

パラメータなしでtscを呼び出すと、現在のディレクトリの下にあるすべてのタイプスクリプトファイルをコンパイルしたいと仮定します。これは、コマンドを呼び出したディレクトリを使用して検索を開始します。 (これについて特別なことは何もなく、実行ファイルはどこから実行されたかを知ることができます)次に、それ自身とすべてのサブディレクトリ内のすべてのファイルを再帰的に/**/*.tsで検索します。

オプションを指定するには、tsconfig.jsonを作成します。

configに "files"配列を指定すると、使用可能なすべてのフォルダを検索する必要がないため、コンパイルプロセスが最適化されます。しかし、あなたが大規模なディレクトリ構造を持っていない限り、その差は名目上のものになります。

3

通常、TypeScriptによって使用されるどこかのtsconfig.jsonがあります。

コンテンツは、その目的のために必要な設定を持っています

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "lib": ["es2015", "dom"], 
    "noImplicitAny": true, 
    "suppressImplicitAnyIndexErrors": true, 
    "typeRoots": [ 
     "../../node_modules/@types/" 
    ] 
    }, 
    "compileOnSave": true, 
    "exclude": [ 
    "node_modules/*", 
    "**/*-aot.ts" 
    ] 
} 

今、あなたはこのようなfilesオプションを使用することができます

"files": [ 
    "core.ts", 
    "sys.ts", 
    "types.ts", 
    "scanner.ts" 
    ] 

それとも、パスを含めるincludeを使用することができます。

"include": [ 
    "src/**/*" 
], 
関連する問題