angular 2アプリの静的バンドルを生成しようとしています(私の目標は、systemjsなしでスクリプトタグを使用してインポートする単一の縮小されたjsファイルを持つことです)。私のアプリには次の(簡略化された)構造があります。
MyProject/
app/
monitoring/
a.ts
b.ts
terminals/
a.ts
b.ts
main.ts
app.module.ts
...
これは私のtsconfigです:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": true,
"noImplicitAny": false,
"outDir": "__dist__"
},
"filesGlob": [
"**/*.ts",
"**/*.tsx",
"!node_modules/**"
]
}
これはsystemjs構成です:
(function () {
var DEFAULT_PACKAGE_CONFIG = {
main: './index.js',
defaultExtension: 'js'
};
System.config({
paths: {
'npm:': 'node_modules/'
},
map: {
app: '__dist__',
monitoring: '__dist__/monitoring',
terminals: '__dist__/terminals',
statistics: '__dist__/statistics',
references: '__dist__/references',
'@angular/core': 'npm:@angular/core/bundles/core.umd.js',
'@angular/common': 'npm:@angular/common/bundles/common.umd.js',
'@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js',
'@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js',
'@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
'@angular/http': 'npm:@angular/http/bundles/http.umd.js',
'@angular/router': 'npm:@angular/router/bundles/router.umd.js',
'@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js',
'rxjs': 'npm:rxjs',
'primeng': 'npm:primeng',
'wijmo': 'scripts/vendor',
'angular2-in-memory-web-api': 'npm:angular2-in-memory-web-api'
},
packages: {
app: {
main: './main.js',
defaultExtension: 'js'
},
rxjs: {
defaultExtension: 'js'
},
primeng: {
defaultExtension: 'js'
},
wijmo: {
defaultExtension: 'js'
},
monitoring: DEFAULT_PACKAGE_CONFIG,
terminals: DEFAULT_PACKAGE_CONFIG,
statistics: DEFAULT_PACKAGE_CONFIG,
references: DEFAULT_PACKAGE_CONFIG,
'angular2-in-memory-web-api': {
main: './index.js',
defaultExtension: 'js'
}
}
});
})();
...そして最後に私の一気飲みのタスク:
gulp.task('bundle:js', function () {
var builder = new SystemJsBuilder('.', './systemjs.config.js');
return builder
.buildStatic('__dist__/app/main.js', buildFolder + '/bundle.js');
});
...しかし、実行すると、次のようになります。
> Error on fetch for __dist__/app/monitoring.js at
> file:///MyProject/__dist__/app/monitoring.js Loading
> __dist__/app/app.module.js Loading __dist__/app/main.js ENOENT: no such file or directory, open '/MyProject/__dist__/app/monitoring.js'
...「アプリ」の下のサブフォルダーを無視しているようです...なぜですか? このエラーを修正するにはどうすればよいですか?