3

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

我已经下载了库,还下载了明确输入的文件。

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

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

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

import * as toastr from 'toastr';

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

如果我尝试明确查找 toastr 确定类型的文件:

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

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

我也尝试添加///<reference path="../../toastr.d.ts" />到我用来导入模块的文件的顶部,但无济于事。

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

4

1 回答 1

10

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

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

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

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

于 2016-01-19T08:42:15.743 回答