Comment importer des modules JavaScript dactylographiée

voix
2

J'ai un code JavaScript que je suis en train de convertir en texte dactylographié.

Soi-disant, tapuscrit est une surcouche de JavaScript, sauf ce qui suit contient des erreurs du compilateur. En supposant que je n'a pas importé la bibliothèque ko dans tapuscrit, comment pourrais-je convertir le code suivant:

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

Pour les références, ce fut ma tentative dactylographiée

module viewModels {

    export class PartDetailsViewModel {
        public bar: string;
             constructor (){
                 this.bar = ko.foo(); //<-- compiler error, ko does not exist in current scope
             }
        }
    }
}
Créé 07/10/2012 à 18:47
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
7

Regardez dans « Déclarations ambiantes » de tapuscrit qui vous permettent de déclarer des membres externes qui seront fournis au moment de l'exécution. Donc, dans votre exemple, en ajoutant ce qui suit rendrait le compilateur heureux:

declare var ko;

Soit dit en passant, je voudrais vous diriger aussi à ce poste: https://stackoverflow.com/a/12692174/806003

Sten a fourni une interface à élimination directe de base de sorte que vous pouvez spécifier un type sur votre déclaration pour obtenir une typage statique sur elle. On trouve également cela dans les commentaires: https://gist.github.com/3833509

Créé 07/10/2012 à 19:24
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more