Angular2无法识别npm start上的模块

时间:2016-05-20 12:59:04

标签: typescript angular

我已经安装了一个新模块,将其添加到我的系统js config:

// map tells the System loader where to look for things
  var map = {
    'angular2-notifications': 'node_modules/angular2-notifications',
  };

  // packages tells the System loader how to load when no filename and/or no extension
  var packages = {
    'angular2-notifications': {defaultExtension: 'js'},
  };

将其导入我的组件

import {NotificationsService, SimpleNotificationsComponent} from 'angular2-notifications'

我收到此错误:

error TS2307: Cannot find module 'notifications'.

参考上面的import语句。

如果我删除它的任何引用,启动我的应用程序,在我的应用程序运行后再次添加导入和指令,并且模块正常工作,该模块可以工作。

为什么我在应用程序运行时npm start出现此错误我没有收到任何错误,一切都工作为例外?

2 个答案:

答案 0 :(得分:0)

TypeScript编译器在SystemJS之前运行,因此它(tsc)不了解您的SystemJS配置。您仍然必须通过它安装的名称来引用节点模块:

import {NotificationsService, SimpleNotificationsComponent}
  from 'angular2-notifications';

答案 1 :(得分:0)