我正在创建一个版本为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" />
添加到我用来导入模块的文件顶部无效。
有没有人知道可能发生的事情?我对我可能出错的事情画了一个空白。提前致谢。
答案 0 :(得分:10)
我认为toastr.min.js
文件根本不包含模块。我的理解是TypeScript定义文件可以帮助您定义toastr库使用的方法和结构。这在IDE中有助于代码完成。该定义文件实际上并不创建可在运行时使用的模块...
这意味着您可以直接使用toastr
对象,而无需像下面这样导入import * as toastr from '...';
。
这是相应的plunkr:https://plnkr.co/edit/wzdoisKBrZYTeSX8r7Nd?p=preview。
希望这是有道理的。 亨利