【发布时间】:2017-06-30 19:57:56
【问题描述】:
我已将 angular1 应用程序升级为使用 angular2 引导(升级选项),但在使用 systemJS 配置导入 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
也许我不明白,但是为了导入 angular 我需要在 systemjs.config 中映射它?为什么?
我正在尝试降级 app.module.ts 中的 angular2 组件:
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 的基础?
【问题讨论】:
-
我检查了日志:angular.module 未定义,所以我做错了。角度被定义为一个模块
标签: angular typescript systemjs