2014-10-09 17 views
27

Vorrei utilizzare una funzione javascript all'interno di un file dattiloscritto. Come posso fare riferimento al file javascript che contiene quella funzione all'interno del file dattiloscritto?Riferimento javascript file all'interno dattiloscritto

ho cercato

<reference path="../libs/myjsfile.js" /> 

questo porta un errore durante la costruzione come: Cannot resolve referenced file: ../libs/myjsfile.js

risposta

5

Devi solo dire al compilatore che il metodo esiste dattiloscritto fuori:

declare function myJavaScriptFunction(param1: number, param2: JQuery): void; 

Assicurarsi che il sito Web carica tutti i file necessari, i normali file js e i file js generati dal compilatore typescript

0

questo porta un errore durante la creazione del tipo: Impossibile risolvere il file di riferimento: ../libs/myjsfile.js

tag dei file di riferimento sono per dattiloscritto non JavaScript. Caricheresti JavaScript usando un tag script nella tua pagina (o qualcosa come requirejs).

Per utilizzare JavaScript da TypeScript è necessario dichiarare l'API del javascript che si desidera utilizzare per il consumo di TypeScript (come sottolineato da AKR).

32

Mentre le due risposte sopra funzioneranno per un'API variabile piccola o singola, la risposta corretta è scrivere un file di dichiarazione del tipo per il file JavaScript.

Il file di dichiarazione del tipo per il tuo esempio sarebbe denominato myjsfile.d.ts, dove il suffisso .d.ts è ciò che dice al compilatore TypeScript che sta analizzando un file di dichiarazione. Se si utilizza Visual Studio, il proprio file di dichiarazione verrà riconosciuto dal compilatore TypeScript purché si trovi da qualche parte (ovunque) nel progetto su cui si sta lavorando.

I file di dichiarazione memorizzano metadati relativi a variabili, funzioni e oggetti JavaScript in modo che il compilatore TypeScript possa svolgere il proprio lavoro. Se il tuo file JavaScript sembra essere una libreria o un framework di uso comune, lo DefinitelyTyped è sicuramente il posto dove trovare il file di definizione che ti serve.

Se il tuo JavaScript è il tuo lavoro o meno noto, dovrai scrivere il tuo file di dichiarazione del tipo. Vedere la sezione Scrittura dei file .d.ts in The TypeScript Handbook.

Se il file di dichiarazione del nome suona intimidatorio, non preoccuparti: sono molto più facili da scrivere rispetto ai programmi. Inoltre, ricorda che non è necessario specificare tutti i metadati per il file JavaScript, solo le funzionalità necessarie.

Fammi sapere se hai bisogno di aiuto!

+0

+1 Grande TR: DR su come funziona, in generale e grazie per il repository DefinatelyTyped, sembra meglio controllarlo prima di decidere su una lib. –

+2

Ma allora COME includi i file .d.ts nel tuo file .ts? –

+0

Il file d.ts deve essere nello stesso progetto del file .ts – Doug

Problemi correlati