簡體   English   中英

從app.module.ts文件中的'angular'導入*為角度

[英]import * as angular from 'angular' inside app.module.ts file

我已經使用angular2(升級選項)將angular1 app升級為bootstrap,但在使用systemJS config導入angular后:

map: {... 'angular': 'npm:angular/angular.js' ... }

瀏覽器發送錯誤:

systemjs.import error: Error: (SystemJS) angular.module is not a function
    TypeError: angular.module is not a function
        at execute (http://msoqa05.devlab.ad:8088/home/bl/app.module.js:88:21)
        at ZoneDelegate.invoke (https://unpkg.com/zone.js@0.7.4?main=browser:242:26)
        at Zone.run (https://unpkg.com/zone.js@0.7.4?main=browser:113:43)
        at https://unpkg.com/zone.js@0.7.4?main=browser:520:57
        at ZoneDelegate.invokeTask (https://unpkg.com/zone.js@0.7.4?main=browser:275:35)
        at Zone.runTask (https://unpkg.com/zone.js@0.7.4?main=browser:151:47)
        at drainMicroTaskQueue (https://unpkg.com/zone.js@0.7.4?main=browser:418:35)
        at XMLHttpRequest.ZoneTask.invoke (https://unpkg.com/zone.js@0.7.4?main=browser:349:25)
    Error loading http://msoqa05.devlab.ad:8088/home/bl/app.module.js

也許我不理解它,但為了導入角度我需要在systemjs.config中映射它? 為什么?

我正在嘗試降級app.module.ts中的angular2 componentsnet:

import * as angular from 'angular'; 
import { downgradeComponent } from '@angular/upgrade/static';

angular.module('myApp')
    .directive(
        'helloWorld',
        downgradeComponent({component: HelloWorldComponent}) as angular.IDirectiveFactory
    );

ts編譯沒問題,但瀏覽器不能正常使用它我得到了這個錯誤。 angular.module是angularJS的基礎?

這樣做解決了這個問題:無需使用systemjs導入角度。

import * as _angular_ from 'angular';

declare global {
  const angular: typeof _angular_;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM