Loggfila: refererer Resig sin forlenge

stemmer
2

Jeg prøver å referere til eksisterende kode som bruker Resig er 'utvide', men jeg får en haug med feil

------ test.ts --------

/// <reference path=myclass.js />
var m = new MyClass (3);

------ myclass.js --------

/// <reference path=class.js />

var MyClass = Class.extend({

    init: function (i)
    {
        this.i = i;
    },
})

------ class.js --------

(copied from http://ejohn.org/blog/simple-javascript-inheritance/)

feil:

Supplied parameters do not match any signature of call target
The name 'Class' does not exist in the current scope
The property 'extend' does not exist on value of type '() => void'
The name 'Class' does not exist in the current scope

Jeg innser at til slutt jeg ønsker å omskrive forlenge baserte kode til maskinskrevet manuskript, men inntil da, hvordan kan jeg referere til den fra ny kode?

Jeg antar dette ber dypere spørsmålet - hvorfor er det klager typen feil i eksisterende Javascript-kode?

Publisert på 02/10/2012 klokken 16:47
kilden bruker
På andre språk...                            


1 svar

stemmer
3

Loggfila generelt ikke kan antyde typer fra eksterne Javascript-kode.

Du må erklære form av 'forlenge' kode du ringer inn, slik at Loggfila vet hva formen på typen er:

declare class Class {
    static extend(body: any);
}

Du kan enten sette det i kildefilen direkte (hvis du bare har en enkelt fil prosjektet), eller mer riktig, i en' .d.ts' fil som du refererer fra kildefilene.

Svarte 02/10/2012 kl. 17:23
kilden bruker

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