无法使用Angular 2导入toastr模块

时间:2016-01-19 07:36:09

标签: typescript angular toastr tsd

我正在创建一个版本为2.0.0-alpha.46的Angular 2应用程序,并尝试导入toastr模块。

我已下载了该库,并且还下载了明确键入的文件。

在我的html页面中,我为.js文件添加了<script>标记:

<script src="./src/libs/toastr/toastr.min.js"></script>

在Visual Studio Code中,我尝试像这样导入模块:

import * as toastr from 'toastr';

然后我可以在我的组件中调用toastr.info('message') - 我甚至可以获得intellisense;但是,当我实际尝试加载网页时,我得到404 / src / toastr not found错误。

如果我试图明确找到toastr明确键入的文件:

import * as toastr from '../../definitions/toastr/toastr';

我会得到“[ts模块的完整路径]不是模块。”

我还尝试将///<reference path="../../toastr.d.ts" />添加到我用来导入模块的文件顶部无效。

有没有人知道可能发生的事情?我对我可能出错的事情画了一个空白。提前致谢。

1 个答案:

答案 0 :(得分:10)

我认为toastr.min.js文件根本不包含模块。我的理解是TypeScript定义文件可以帮助您定义toastr库使用的方法和结构。这在IDE中有助于代码完成。该定义文件实际上并不创建可在运行时使用的模块...

这意味着您可以直接使用toastr对象,而无需像下面这样导入import * as toastr from '...';

这是相应的plunkr:https://plnkr.co/edit/wzdoisKBrZYTeSX8r7Nd?p=preview

希望这是有道理的。 亨利