javascript - Angular2 RC5导入第3方JS库: Showdown

标签 javascript angular showdown

我在导入 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/

相关文章:

javascript - 如果有人单击 `draggable` div 中的输入,我该如何拖动 div?

javascript - React 组件在 html 脚本标记中未定义

javascript - 使用键盘箭头禁用元素滚动

javascript - 通过书签触发 Markdown 处理

javascript - 摊牌 highlightjs 扩展

javascript - 仅在一个验证器上去抖动

javascript - 在循环( Node )中使用 Promise

Angular 2 Universal - 存储全局变量

javascript - 错误类型错误 : Cannot read property 'value' of undefined in ionic when submitting login form

javascript - 如果模块不存在,我如何让 webpack 跳过它