我在导入Showdown作为供应商时遇到问题。编译时,在浏览器控制台中显示showdown is not defined。由于它是供应商软件包,所以我认为我不能将其导入app.module.ts内。我需要为其声明自定义类型吗?软件包都在js中。我在Angular2 RC5上运行。谢谢!

home.service.ts

import 'showdown/dist/showdown';

declare var showdown: any;

private extractData(res: Response) {
   let body      = res.json();
   var converter = new showdown.Converter(),
   originalBody  = window.atob(body.content),
   body.title    = converter.makeHtml(title);
}


vendor.browser.ts

import 'showdown/dist/showdown';

最佳答案

我对Showdown不熟悉,但是如果要在代码中导入它,则需要具有类型定义文件。如果使用TypeScript 2.0,则只需从npmjs.org安装它。我刚刚检查过-它们在@types组织中具有Showdown的类型定义:https://www.npmjs.com/search?q=%40types%2Fshowdown

只需运行npm i @types/showdown --save-dev

如果使用较旧的TypeScript,请使用Typings安装声明。
不要忘记在index.html中为Showdown添加脚本标签。

在此示例应用程序中,我隐式使用了JQuery,但是不需要导入它:

https://github.com/Farata/angular2typescript/tree/master/chapter2/auction

关于javascript - Angular2 RC5导入第三方JS库:对决,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39273014/

10-13 01:05