いくつかの共有コードを使用するTypeScriptで開発された2つのWebアプリケーションがあります。例えば、apps/app1/components/app1.component.ts
に私は同じimport文、すなわちSystemJsでデカップリングされたモジュールを参照する
import {ClassA} from '../../../shared/classA';
import {ClassB} from '../../../shared/classB';
ClassA
とClassB
存在を持っているapps/app2/components/app2.component.ts
においても同様に共有コードにimport文、例えば、
import {ClassA} from '../../../shared/classA';
import {ClassB} from '../../../shared/classB';
を
を持っていますそれぞれapps/shared/ClassA
およびapps/shared/ClassB
である。
現在、ブラウザでこれらの共有モジュールをロードするために、私は以下のマップとパッケージ文でapps/app1/systemjs.config.js
とapps/app2/systemjs.config.js
の両方を更新する必要があり、
map: {
'classA': 'apps/shared',
'classB': 'apps/shared
},
packages: {
'classA': {main: 'classA', defaultExtension: 'js'},
'classB': {main: 'classB', defaultExtension: 'js'}
}
私はちょうど2つのクラスを持っている場合、これは素晴らしいです(classA
とclassB
)、apps/shared
のクラスの数が増えるにつれて、維持するのがより困難になり始める。システム全体にapps/shared
からすべてのモジュールをロードするように指示する方法はありますか?私の活字体源(上記すなわちimport文)で使用される相対的なモジュールの解像度を維持しながら
map: {
'shared': 'apps/shared'
},
packages: {
'shared': {main: 'shared', defaultExtension: 'js'}
}
ようなもの?この問題を解決するために