var map、packages、varconfigは何をしますか。また、マップおよびパッケージオブジェクトのすべての構成プロパティについて説明します。利用可能な構成に関するドキュメントはありますか?
これが私のシステム設定ファイルです
/**
* System configuration for Angular samples
* Adjust as necessary for your application needs.
*/
(function (global) {
System.config({
paths: {
// paths serve as alias
'npm:': 'node_modules/'
},
// map tells the System loader where to look for things
map: {
// our app is within the app folder
app: 'app',
// angular bundles
'@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',
// other libraries
'rxjs': 'npm:rxjs',
'angular-in-memory-web-api': 'npm:angular-in-memory-web-api/bundles/in-memory-web-api.umd.js',
'fscopy': 'npm:fs-extra/lib/copy/index.js',
'file-system': 'npm:file-system/file-system.js'
},
// packages tells the System loader how to load when no filename and/or no extension
packages: {
app: {
main: './main.js',
defaultExtension: 'js'
},
rxjs: {
defaultExtension: 'js'
},
fs: {
defaultExtension: 'js'
}
}
});
})(this);
system.config.jsは、TypeScriptコンパイラを使用してコンパイルされたモジュール(ノードモジュール)をロードできるようにするものです。mapは、JavaScriptコードを含むJSファイルへのモジュールの名前を参照します。
@Sajeetharanの回答を、詳細な例を挙げてフォローアップしたいと思います。したがって、新しいモジュールをインストールする場合は、例としてangular2-highcharts
を使用します。参考までに、 hightcharts のドキュメントを参照してください。
ご存知のように、npmコマンドを実行することから始めますnpm install angular2-highcharts --save
a。これで、インストールされたモジュールがnode_modules
フォルダーに表示されます。
さて、使用する新しいモジュールをインストールしました。次に、この新しいモジュールの場所とロード方法をアプリに指示する必要があります。ここでsystemjs.config.js
が活躍します。
a。まず、「map
」を実行するか、この新しいモジュールの場所をアプリに指示する必要があります。この場合は次のようになります...'angular2-highcharts': 'node_modules/angular2-highcharts',
'angular2-highcharts':
これは、angular2-highchartsを参照している場合は、「node_modules/angular2-highcharts」の次のパスを使用することを意味します。b。次はPackage
の部分です。これは、この新しいモジュールの場所をマップしたので、この新しいモジュールフォルダー内の何を実行しますか?この場合は `index.js 'であり、次のように定義します...
angular2-highcharts': {
main: './index.js',
defaultExtension: 'js'
}
モジュールを適切にインストールし、systemjs.config.jsで参照したので、「app.modules」コンポーネントおよび任意のコンポーネントでインポートを呼び出すことができます。
編集
config
の説明を忘れました。 Configは、短縮形の値でフォルダーまたはファイルを定義するための単なる方法です。構成npm: node_modules
では、基本的に、node_modulesをnpmで短縮できると言っています。これは、次のようなマッピングステートメントに表示されます。'npm:@angular/core/bundles/core.umd.js'
を書き出すのではなく、node_modules/@angular/core/bundles/core.umd.js
Angular-Cliを使用している場合は、systemjs.configは必要ありません。すべてはangular-cliによって処理する必要があります。