无法使用 Angular 2 导入 toastr 模块

Unable to import toastr module with Angular 2

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

我已经下载了库,也下载了确定类型的文件。

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

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

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

import * as toastr from 'toastr';

然后我可以在我的组件中调用 toastr.info('message') - 我什至得到智能感知;但是,当我实际尝试加载网页时,出现 404 /src/toastr 未找到错误。

如果我试图明确找到 toastr 明确类型的文件:

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

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

我也尝试将 ///<reference path="../../toastr.d.ts" /> 添加到我用来导入模块的文件的顶部,但没有成功。

有没有人知道可能会发生什么?我对我可能做错的地方一片空白。提前致谢。

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

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

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

希望这是有道理的。 蒂埃里