加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular2 – systemjs.config.js在角度2包装结构中做什么?

发布时间:2020-12-17 08:26:11 所属栏目:安全 来源:网络整理
导读:还有var map,packages,var config在这里做什么在这里我有点困惑 他们做任何config.I看到每个项目,我发现无处不在他们把这个文件。这个功能怎么做? (function(global) { // map tells the System loader where to look for things var map = { 'app': 'ap
还有var map,packages,var config在这里做什么在这里我有点困惑
他们做任何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文件。

这里是一个例子。如果我尝试导入名为app / test的模块,SystemJS会做:

>尝试找到一个预注册的模块(使用System.register(‘app / test’,…
>如果没有,它将调查其配置来构建要执行的请求以加载相应的文件:

>有一个应用程序的地图条目
>有一个包含defaultExtension = js的应用程序包条目

>请求将是http:// localhost:3000 / app / test.js。如果您有地图:{app:dist},请求将为http:// localhost:3000 / dist / test.js

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读