我在导入 Showdown 时遇到问题作为 vendor 。编译时,我在浏览器控制台中得到 showdown is not Defined
。由于它是一个 vendor 包,我认为我无法将其导入 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导入第3方JS库: Showdown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39273014/