Typescript 抛出 属性 does not exist on type 即使包含类型文件
Typescript throws a property does not exist on type even with type file included
我将 TypeScript 与 webpack 和 ES6 结合使用。我正在尝试导入模块 Showdown 并使用它将 markdown 转换为 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);
当我尝试将 TS 转换为 ES6 时,出现以下错误:
ERROR in ./src/app/app.ts
(23,24): error TS2339: Property 'Converter' does not exist on type 'typeof Showdown'.
我正在使用 TSD 安装所有类型定义。 Angular 加载正常,但 Showdown 似乎有问题。 Showdown 类型文件似乎是正确的(包括 属性 转换器),据我所知,它可以正常加载。
我在控制台注销了 showdown
变量,以确保 Showdown 确实获得了导入器并且确实获得了导入器,并且它具有转换器 属性.
有什么想法吗?
我 运行 遇到了类似的问题,我不得不这样做:
this.md = new showdown.Converter();
而不是
this.md = showdown.Converter();
看起来你刚才解决了你的问题,但如果有人遇到这个问题,我想我会把我的解决方案放在这里。
我将 TypeScript 与 webpack 和 ES6 结合使用。我正在尝试导入模块 Showdown 并使用它将 markdown 转换为 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);
当我尝试将 TS 转换为 ES6 时,出现以下错误:
ERROR in ./src/app/app.ts
(23,24): error TS2339: Property 'Converter' does not exist on type 'typeof Showdown'.
我正在使用 TSD 安装所有类型定义。 Angular 加载正常,但 Showdown 似乎有问题。 Showdown 类型文件似乎是正确的(包括 属性 转换器),据我所知,它可以正常加载。
我在控制台注销了 showdown
变量,以确保 Showdown 确实获得了导入器并且确实获得了导入器,并且它具有转换器 属性.
有什么想法吗?
我 运行 遇到了类似的问题,我不得不这样做:
this.md = new showdown.Converter();
而不是
this.md = showdown.Converter();
看起来你刚才解决了你的问题,但如果有人遇到这个问题,我想我会把我的解决方案放在这里。