Mam prosty TypeScript (ts), który potrzebuje funkcji z pliku JavaScript. Jak mogę zaimportować ten plik js do pliku ts? Czy muszę utworzyć plik ts dla tego pliku js, aby móc go użyć w moim pliku ts?Załaduj plik js do pliku maszynopisu
Odpowiedz
Najprostszym sposobem jest po prostu declare
funkcja używasz:
File1.js
function greet() { return "Hello!"; }
File2.ts
declare function greet(): string;
/* ... later ... */
var hi = greet();
Jeśli Twój scenariusz to więcej com plex (tj. wiele plików odwołujących się do File1.js lub istnieje wiele funkcji w File1.js, które mogłyby zaśmiecać File2.ts), można utworzyć plik File1.dts i odnieść do pliku File2.ts:
File1. d.ts
function greet(): string;
File2.ts
/// <reference path="File1.d.ts" />
/* ... later ... */
var hi = greet();
tylko dla archiwów, jeśli dodać ref /// dla pliku JavaScript wewnątrz pliku TS, kompilator będzie próbował sprawdź cały kod w plikach JS i wyrzuć ogromną listę błędów. Wypróbuj za pomocą jQuery lub coś podobnego, a zobaczysz, co mam na myśli.
Tak, widziałem to. Dodałem deklarację var $ i nie uwzględniam tego ref w projektach, które nie mają jquery pliku d.ts. –
Jest to najszybszy sposób dodania wsparcia dla każdego typu, dla którego nie masz pliku .d.ts. Miłym akcentem w plikach definicji jest Intellisense. –
https://github.com/borisyankov/DefinitelyTyped –
- 1. Załaduj zewnętrzny plik js do innego pliku js.
- 2. załaduj plik JS w HTML
- 3. Plik javascript odniesienia wewnątrz maszynopisu
- 4. Załaduj plik UIView z pliku nib?
- 5. Załaduj plik ASP.NET 5
- 6. załaduj plik w słoju
- 7. jak używać pliku json w pliku maszynopisu
- 8. Załaduj plik do Amazon S3 z NodeJS
- 9. Lepsze odwołanie do pliku dla maszynopisu
- 10. Załaduj plik z pamięci zewnętrznej do Inputstream
- 11. Załaduj tablicę bajtów pliku do pamięci
- 12. Załaduj plik za pomocą boto
- 13. Załaduj plik CSS dynamicznie do tworzenia motywów.
- 14. Odnośny plik JS w innym pliku JS i Intellisense
- 15. Wstępnie załaduj JS, ale nie uruchamiaj go
- 16. Przenoszenie maszynopisu w przeglądarce i kompilowanie plików js
- 17. requirejs załaduj statyczny plik JSON
- 18. Załaduj json z pliku do obiektu
- 19. jQuery: załaduj plik txt i wstaw do div
- 20. Załaduj region za pomocą C3.js
- 21. Załaduj plik XML ze źródeł
- 22. Załaduj plik z katalogu nadrzędnego
- 23. Załaduj lokalny plik podczas zadania rake heroku
- 24. Załaduj prosty plik tekstowy w Android Studio
- 25. Załaduj plik do konsoli szyn z dostępem do zmiennych zdefiniowanych w tym pliku
- 26. Załaduj plik PEM X509 do systemu Windows CryptoApi
- 27. Załaduj inny plik application.yml w SpringBoot Test
- 28. Załaduj zestaw do potomnej aplikacji AppDomain i zwalniaj plik DLL
- 29. Załaduj UIWebView za pomocą lokalnego pliku CSS
- 30. Angular JS - Załaduj szablon html z dyrektywy po kliknięciu przycisku
Cześć Ryan, dziękuję, to działa! Jeden plik, którego używam, ma jednak metody dodane do biblioteki Math. Zatem plik Math.uuid.js ma trzy metody; Math.uuid() zwraca ciąg, a dwa pozostałe ... TS narzeka na to "deklaruj funkcję Math.uuid(): string;" (oczywiście). W jaki sposób wprowadzę te metody? Dzięki! –
Znaleziono! Ogłosiłem ten interfejs ... interface Math { uuid(): string; } i wszystko dobrze. –
Czy istnieje sposób automatycznego wygenerowania pliku * .d.ts z pliku .js? Dzięki - dave –