Angularjs Typescript抛出类型上不存在的属性,即使包含类型文件
我正在使用带有webpack和ES6的TypeScript。我正在尝试导入模块决战,并使用它将标记转换为HTML。这是我的Angularjs Typescript抛出类型上不存在的属性,即使包含类型文件,angularjs,typescript,showdown,Angularjs,Typescript,Showdown,我正在使用带有webpack和ES6的TypeScript。我正在尝试导入模块决战,并使用它将标记转换为HTML。这是我的app.ts代码: /// <reference path="../typings/tsd.d.ts" /> import 'zone.js'; import 'reflect-metadata'; import 'es6-shim'; import * as showdown from 'showdown'; import {Component, View
app.ts
代码:
/// <reference path="../typings/tsd.d.ts" />
import 'zone.js';
import 'reflect-metadata';
import 'es6-shim';
import * as showdown from 'showdown';
import {Component, View, bootstrap} from 'angular2/angular2';
@Component({
selector: 'markdown-app'
})
@View({
templateUrl: '/app/markdownApp.html'
})
class MarkdownAppComponent {
public html: string;
private md: any;
constructor() {
this.html = '';
this.md = showdown.Converter();
}
public updateValue(val) {
this.html = this.md.makeHtml(val);
}
}
bootstrap(MarkdownAppComponent);
我正在使用TSD安装所有类型定义。角度负载上升良好,但摊牌似乎有麻烦。摊牌类型文件似乎是正确的(包括属性转换器),从我所能理解的,它加载良好
我控制台注销了shodown
变量,以确保shodown确实获得了导入程序,并且它具有Converter属性
有什么想法吗?我遇到了类似的问题,我不得不做:
this.md=new shodown.Converter()代码>
而不是
this.md=shodown.Converter()代码>
看起来您不久前解决了问题,但万一有人遇到这个问题,我想我会把我的解决方案扔到这里。您没有用于决战的typedef,是吗?如果没有,那么像(决战)一样强制转换。Converter()
可能更适合使用tsd安装此def-我确实安装了它们。我不小心联系错了回购协议。我有一个带有shodown/shodown.d.ts的typings文件夹,所有这些都在tsd.d.ts中引用,我在上面列出的文件中引用了tsd.d.ts。Converter()无法工作@你还有其他想法吗?同样的错误。我从决战切换到了有标记的,它工作得非常完美。不知道为什么。
ERROR in ./src/app/app.ts
(23,24): error TS2339: Property 'Converter' does not exist on type 'typeof Showdown'.