How to import JavaScript modules in TypeScript
我有一些 JavaScript 代码正在尝试转换为 Typescript。
据说,typescript 是 JavaScript 的超集,除了以下有编译器错误。假设我没有将 ko 库导入typescript,我将如何转换以下代码:
1
2 3 4 5 |
(function(ko, viewModels){
viewModels.MyViewModel = function(){ //stuff in here } }(ko, window.viewModels = window.viewModels || {})); |
作为参考,这是我在 TypeScript 中的尝试
1
2 3 4 5 6 7 8 9 10 |
module viewModels {
export class PartDetailsViewModel { |
查看 TypeScript\\’s “Ambient Declarations”,它允许您声明将在运行时提供的外部成员。因此,在您的示例中,添加以下内容将使编译器满意:
1
|
declare var ko;
|
顺便说一句,我还想在这篇文章中指导您:https://stackoverflow.com/a/12692174/806003
Sten 提供了一个基本的敲除接口,以便您可以在声明中指定一个类型以获取一些静态类型。在评论中也发现了这一点:https://gist.github.com/3833509
- 更好地指出这个 KO 声明(因为它比你指向的要点更详细):github.com/sv01a/TypeScript-Knockoutjs
- 更完整:github.com/borisyankov/DefinitelyTyped/blob/master/Definitio ns/
来源:https://www.codenong.com/12771258/