代码之家  ›  专栏  ›  技术社区  ›  Friso

如何在Angular 6+中实现systemjs?

  •  0
  • Friso  · 技术社区  · 7 年前

    未捕获的引用错误:未定义SystemJS

    我实现了如下systemjs:

    import { System } from 'systemjs';
    declare const SystemJS: System;
    
    import * as angularCore from '@angular/core';
    import * as angularCommon from '@angular/common';
    import * as angularCommonHttp from '@angular/common/http';
    import * as angularForms from '@angular/forms';
    import * as angularAnimations from '@angular/animations';
    import * as angularPlatformBrowser from '@angular/platform-browser';
    import * as angularPlatformBrowserDynamic from '@angular/platform-browser-dynamic';
    
    //error thrown here
    SystemJS.set('@angular/core', SystemJS.newModule(angularCore));
    SystemJS.set('@angular/common', SystemJS.newModule(angularCommon));
    SystemJS.set('@angular/common/http', SystemJS.newModule(angularCommonHttp));
    SystemJS.set('@angular/forms', SystemJS.newModule(angularForms));
    SystemJS.set('@angular/animations', SystemJS.newModule(angularAnimations));
    SystemJS.set('@angular/platform-browser', SystemJS.newModule(angularPlatformBrowser));
    SystemJS.set('@angular/platform-browser-dynamic', SystemJS.newModule(angularPlatformBrowserDynamic));
    
    SystemJS.config({ meta: { '*': { authorization: true } } });
    

    我使用systemjs的代码: https://github.com/FrisoDenijs/angular-pluggable-architecture/blob/master/dashboard/src/app/dashboard/dashboard/dashboard.component.ts

    我尝试修复的提交: https://github.com/FrisoDenijs/pluggable-angular-example/commit/4472560da17b69c13809be931f6966d9254d10d1

    我以回购为例: https://github.com/paucls/angular-pluggable-architecture

    0 回复  |  直到 7 年前
        1
  •  1
  •   dummdidumm    7 年前
    1. package.json (可能您需要安装一个旧版本以满足您的需要)。

    2. 将SystemJS Javascript文件的路径添加到脚本中 angular.json . 这样它就被加载到全局空间中:

    "scripts": [
      "node_modules/systemjs/dist/system.min.js"
    ]
    
    1. 在文件中声明并使用它。
    ...
    declare const SystemJS: System;
    ...
    SystemJS.set('@angular/core', SystemJS.newModule(angularCore));
    

    第二步是你遗漏了什么(我猜),以及为什么它在你链接的回购中起作用;它是以同样的方式完成的: https://github.com/paucls/angular-pluggable-architecture/blob/master/dashboard/.angular-cli.json

    scripts -剖面图

    推荐文章