現在のディレクトリで構成ファイルtsc --project ./
を使用する場合、連結された出力ファイルを作成するために使用できます。tsconfig.json
ファイルは次のtsconfig.json
ようになります。
{
"compileOnSave": true,
"compilerOptions": {
"module":"system",
"target": "es5",
"sourceMap": true,
"outFile": "dist/app-build.js"
},
"files":[
"./src/index.ts",
"./typings/browser.d.ts"
]
}
クラシック ファイルのレイアウトは次のようになります。
project/
- src/
- index.ts
... all my ts files
- dist /
- vendor.js # angular, jquery...
- app-build.js # our build project
- system.js # Module loader we used
- index.html # call all js
- typings/
- browser.d.ts
- main.d.ts # for node.js server side, not included
- package.json
- tsconfig.json
悪いニュースは、SystemJS への呼び出しが必要なことです(RequireJS と同じように動作しますが、Tsc 1.8 の時点で、CommonJS は連結ビルドには受け入れられません)。
SystemJS について簡単に学びましょう: SystemJS を追加し、 でモジュールを呼び出しますindex.html
。
<html lang="en" ng-app="skeleton">
<head>
<script src="system.js" type="text/javascript"></script>
<script src="angular.min.js"></script>
<script src="app-build.js" type="text/javascript"></script>
</head>
<body>
<skeletonDirective></skeletonDirective>
<script type="text/javascript">
System.import('index')
</script></body></html>
大きな利点は、IDE にバンドルさせることもできることです。いずれにしても、IDE は型を理解するためにコンパイルする必要があるため、2 回コンパイルすることを避けることができます。現時点では、Gulp や browserify などは必要ありません。SystemJS は、html テンプレートのロードなど、ほとんどのことを行う可能性があります。