TypeScript Efinite.Typed Ember.js d.ts无法编译 [英] TypeScript DefinitelyTyped Ember.js d.ts doesn't compile
问题描述
我试图获取Ember.js库的定义以与TypeScript一起使用。每当我尝试引用ember-1.0.d.ts文件时,都会得到43个错误实例:
I am trying to get definitions for the Ember.js library to work with TypeScript. Whenever I try to reference the ember-1.0.d.ts file I get 43 instances of the error:
The name 'Ember' does not exist in the current scope.
我正在使用安装有TypeScript和Web Essentials软件包的Visual Studio 2012,认为这可能是一个问题使用我自己的配置,我尝试从DefinitelyType项目中加载不同的.d.ts。我尝试引用Angular.js定义文件,它没有给我任何错误,所以我假设定义文件有问题。
I am using Visual Studio 2012 with TypeScript and the Web Essentials package installed, thinking maybe it was a problem with my own configuration I tried to load a different .d.ts from the DefinitelyType project. I tried to reference the Angular.js definition file and it gives me no errors so I am assuming there is something wrong with the definition file.
https://github.com/borisyankov/DefinitelyTyped/blob/master/Definitions/ember -1.0.d.ts
此错误的原因是什么?
此是错误的部分之一,Ember。*部分被标记为错误:
This is one of the parts that gives me errors, the Ember.* parts are marked as wrong:
export interface Enumerable extends Mixin {
// Fields
firstObject: Object;
hasEnumerableObservers: bool;
lastObject: Object;
nextObject: Object;
// Methods
addEnumerableObserver(target, opts);
compact(): any[];
contains(obj: Object): bool;
enumerableContentDidChange(removing: number, adding: number): Object;
enumerableContentDidChange(removing: Ember.Enumerable, adding: Ember.Enumerable): Object;
enumerableContentDidChange(start: Number, removing: number, adding: number): Object;
enumerableContentDidChange(start: Number, removing: Ember.Enumerable, adding: Ember.Enumerable): Object;
enumerableContentWillChange(removing: number, adding: number): Ember.Enumerable;
enumerableContentWillChange(removing: Ember.Enumerable, adding: Ember.Enumerable): Ember.Enumerable;
enumerableContentWillChange(start: Number, removing: number, adding: number): Ember.Enumerable;
enumerableContentWillChange(start: Number, removing: Ember.Enumerable, adding: Ember.Enumerable): Ember.Enumerable;
every(callback: Function, target?: Object): bool;
everyProperty(key: string, value?: string): any[];
filter(callback: Function, target?: Object): any[];
filterProperty(key: string, value?: string): any[];
find(callback: Function, target?: Object): Object;
findProperty(key: string, value?: string): Object;
/*forEach
getEach
invoke
map
mapProperty
reduce
removeEnumerableObserver
setEach
some
someProperty
toArray
uniq
without*/
}
推荐答案
我在Visual Studio中进行了两项更改以使其正常工作。
I made two changes in Visual Studio to get this working.
在声明中,我进行了更改:
In the declaration I changed:
declare module "Ember" {
至
declare module Ember {
在您的界面中,我进行了更改:
And in your interface I changed:
interface Enumerable extends Mixin {
到
interface Enumerable extends Ember.Mixin {
此后所有警告都消失了。
After this all the warnings were gone.
这篇关于TypeScript Efinite.Typed Ember.js d.ts无法编译的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!