Jak importować moduły JavaScript w maszynopisie

głosy
2

Mam trochę kodu JavaScript, który próbuję przekonwertować do maszynopis.

Podobno maszynopis jest rozszerzeniem JavaScript, z wyjątkiem następujących zawiera błędy kompilatora. Zakładając, że nie importować bibliotekę ko w maszynopisie, w jaki sposób przekonwertować następujący kod:

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

Dla odniesienia, to była moja próba na maszynie

module viewModels {

    export class PartDetailsViewModel {
        public bar: string;
             constructor (){
                 this.bar = ko.foo(); //<-- compiler error, ko does not exist in current scope
             }
        }
    }
}
Utwórz 07/10/2012 o 18:47
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
7

Spójrz na „Ambient deklaracji” maszynopis, które pozwalają zadeklarować członków zewnętrznych, które zostaną dostarczone w czasie wykonywania. Więc w przykładzie, dodając następujące uczyniłoby kompilator szczęśliwy:

declare var ko;

Przy okazji, chciałbym również skierować cię na tym stanowisku: https://stackoverflow.com/a/12692174/806003

Sten dostarczył podstawowego interfejsu nokaut, dzięki czemu można określić typ na swojej deklaracji trochę statycznego pisania na nim. Znaleziono to także w komentarzach: https://gist.github.com/3833509

Odpowiedział 07/10/2012 o 19:24
źródło użytkownik

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