还有var map,packages,var config在这里做什么在这里我有点困惑
他们做任何config.I看到每个项目,我发现无处不在他们把这个文件。这个功能怎么做?
他们做任何config.I看到每个项目,我发现无处不在他们把这个文件。这个功能怎么做?
(function(global) { // map tells the System loader where to look for things var map = { 'app': 'app',// 'dist','rxjs': 'node_modules/rxjs','angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api','@angular': 'node_modules/@angular','primeng': 'node_modules/primeng' }; // packages tells the System loader how to load when no filename and/or no extension var packages = { 'app': { main: 'boot.js',defaultExtension: 'js' },'rxjs': { defaultExtension: 'js' },'angular2-in-memory-web-api': { defaultExtension: 'js' },'primeng': { defaultExtension: 'js' } }; var packageNames = [ '@angular/common','@angular/compiler',// ]; // add package entries for angular packages in the form '@angular/common': { main: 'index.js',defaultExtension: 'js' } packageNames.forEach(function(pkgName) { packages[pkgName] = { main: 'index.js',defaultExtension: 'js' }; }); var config = { map: map,packages: packages } // filterSystemConfig - index.html's chance to modify config before we register it. if (global.filterSystemConfig) { global.filterSystemConfig(config); } System.config(config); })(this);
它允许将SystemJS配置为加载使用TypeScript编译器编译的模块。对于匿名模块(每个JS文件一个模块),它允许将模块的名称映射到实际包含模块JavaScript代码的JS文件。
原文链接:https://www.f2er.com/angularjs/145114.html这里是一个例子。如果我尝试导入名为app / test的模块,SystemJS会做:
>尝试找到一个预注册的模块(使用System.register(‘app / test’,…
>如果没有,它将调查其配置来构建要执行的请求以加载相应的文件:
>有一个应用程序的地图条目
>有一个包含defaultExtension = js的应用程序包条目
>请求将是http:// localhost:3000 / app / test.js。如果您有地图:{app:dist},请求将为http:// localhost:3000 / dist / test.js