私は gulp を使用して ts を js にトランスパイルしており、ts ファイルは他の静的リソースと共に dist フォルダーに正しく生成されます。
//tsconfig.js
{
"compilerOptions": {
"outFile": "scripts.js", //this can be commented to retain the original file structure instead of concatenating into one file
"target": "es5",
"module": "system",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"gulpfile.js",
"node_modules",
"typings/main",
"typings/main.d.ts"
]
}
systemjsを使用してscripts.jsをインポートします
//index.html
<!DOCTYPE html>
<html>
<head>
<base href="/">
<meta charset="UTF-8">
<title>ZEFR</title>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,700,600,700italic,400italic,600italic,800,800italic' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<my-app>Loading</my-app>
</body>
<script src="lib/es6-shim.js"></script>
<script src="lib/angular2-polyfills.js"></script>
<script src="lib/system.src.js"></script>
<script src="lib/Rx.js"></script>
<script src="lib/angular2.dev.js"></script>
<script src="lib/router.dev.js"></script>
<script>
System.config({
packages: {
dist: {
format: 'register',
defaultExtention: 'js'
}
}
});
System.import('scripts.js')
.then(null, console.error.bind(console))
</script>
</html>
script.js は連結された JavaScript ファイルであり、すべてのコンポーネントが含まれています。問題は、コンソールにエラーが表示されないことです。script.js の代わりに boot.js をターゲットにする必要があると感じています。私のdistフォルダでそれを行うにはどうすればよいですか
//my project folder structure
-public/
-index.html
-components/
-boot/
-boot.ts
-app/
-app.component.ts
...
-dist/
-scripts.js //this is the concatenated file of all the js transpiled from ts
-style.css
-images/
-lib/