我有一些javascript代码要转换成typescript。
据推测,typescript是javascript的超集,除了下面有编译器错误。假设我没有将ko库导入typescript,我将如何转换以下代码:

(function(ko, viewModels){
    viewModels.MyViewModel = function(){
        //stuff in here
    }
}(ko, window.viewModels = window.viewModels || {}));

作为参考,这是我在typescript中的尝试
module viewModels {

    export class PartDetailsViewModel {
        public bar: string;
             constructor (){
                 this.bar = ko.foo(); //<-- compiler error, "ko" does not exist in current scope
             }
        }
    }
}

最佳答案

查看TypeScript的“环境声明”,它允许您声明在运行时将提供的外部成员。因此,在您的示例中,添加以下内容将使编译器满意:

declare var ko;

顺便说一句,我还想在这篇文章中告诉你:https://stackoverflow.com/a/12692174/806003
斯滕提供了一个基本的敲除接口,这样您就可以在声明上指定一个类型,以便在其上获得一些静态类型。也可以在评论中找到这个:https://gist.github.com/3833509

关于import - 如何在TypeScript中导入JavaScript模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12771258/

10-12 16:23