Typescript定义breeze.d.ts - 对于已存在于环境上下文中的代码,不允许声明修饰符

问题描述 投票:2回答:2

突然VS2012停止从我的打字稿文件构建javascript文件。选项看起来不错。还试过卸载web essentials而没有成功。

只有当我完全重启VS时,才会生成JS文件。

Edit1:似乎breeze.d.ts会出现问题。我一引用它就收到错误:

/typings/breeze/breeze.d.ts(213,5): error TS1038: 'declare' modifier not allowed for code already in an ambient context.

Edit2:似乎打字稿仍有(v0.9)许多关于引用和路径的错误。例如,您不能根据需要使用空格

对:

/// <reference path="typings/jquery/jquery.d.ts" />

错误:

/// <reference path= "typings/jquery/jquery.d.ts" />
javascript visual-studio-2012 typescript breeze
2个回答
1
投票

您收到的错误是由于在Breeze定义文件中使用declare语句这一事实造成的,这是不允许的。定义文件不需要使用declarestatement来声明变量,模块或接口。

我遇到过类似的行为,其中一个引用的定义文件中的错误导致Visual Studio停止编译TypeScript而不抛出错误。我不确定这是Web Essentials还是TypeScript编译器的错误。


0
投票

我能够通过删除分号来克服这个错误:

declare module 'asdf' {
}; 

 ^ deleted the above semicolon
© www.soinside.com 2019 - 2024. All rights reserved.