Angularjs Typescript抛出类型上不存在的属性,即使包含类型文件

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

我正在使用带有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, 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'.