【发布时间】:2013-11-15 17:46:42
【问题描述】:
我需要将 Sizzle 内联到 TypeScript 类中,这样我就可以在类中使用它。我可以忍受没有它的定义文件,而只是将它作为“任何”。但是,如果我把它放在文件的顶部,编译器会从缩小的 Sizzle 代码中引发错误。有没有办法做到这一点?
【问题讨论】:
标签: typescript sizzle
我需要将 Sizzle 内联到 TypeScript 类中,这样我就可以在类中使用它。我可以忍受没有它的定义文件,而只是将它作为“任何”。但是,如果我把它放在文件的顶部,编译器会从缩小的 Sizzle 代码中引发错误。有没有办法做到这一点?
【问题讨论】:
标签: typescript sizzle
我的建议是将它保存在 JavaScript 文件中,并在 TypeScript 文件中添加您需要的位的声明 - 但您已经特别询问了如何将它内联到 TypeScript 文件中,所以这里是回答你的问题...
你可以加入一些类型注释和类型断言以“摆脱它”——尽管这将是相当粗暴的......
我已将完整版放到网上,因为它太大而无法放在这里,但本质上我要么在表达式前面加上类型断言:
var high = <any>"0x" + escaped - 0x10000;
或者添加类型注解:
var addCombinator: any = function( matcher, combinator, base ) {
对于任何违反推断类型的项目。如果您愿意,您当然可以放置一个合理的类型注释而不是任何类型的注释。
【讨论】: