Wygląda na to, że TypeScript ma przyjemny system modułów, ale czy to zastępuje potrzebę czegoś takiego jak requirejs? Innymi słowy, kiedy "skompilujesz" pakiet maszynopisu, zajmie się on dla ciebie całą rozdzielczością zależności? Przykłady będą mile widziane!Zarządzanie pakietami TypeScript
Odpowiedz
Język TypeScript nie ma modułu ładującego środowisko wykonawcze. Nadal będziesz musiał dostarczyć moduł ładujący do użycia w czasie wykonywania, np. wymagać js. TypeScript obsługuje generowanie kodu JavaScript kompatybilnego z commonJS (dla skryptów node.js) i programami ładującymi AMD (np. RequireJS). Aby określić, który z nich będzie użyty, prześlij go do przełącznika "--module" do kompilatora z "amd" lub "commonjs".
Oto jak wyeksportować moduł w maszynopisie:
export module depModule {
export class A {
}
}
i tu jest wygenerowany kod JavaScript z --module przełącznika amd:
define(["require", "exports"], function(require, exports) {
(function (depModule) {
var A = (function() {
function A() { }
return A;
})();
depModule.A = A;
})(exports.depModule || (exports.depModule = {}));
})
maszynopis może emitować kod, który będzie współpracować z Obydwie ładowarki zależności zgodne z AMD, takie jak requirejs lub commonjs, takie jak Node. Możesz to kontrolować za pomocą opcji --module do kompilatora. Sam kompilator nie radzi sobie z rozwiązywaniem zależności w środowisku wykonawczym, to wszystko zależy od Ciebie, ale próbuje rozwiązać zależności w czasie kompilacji, dzięki czemu może podać informacje o typie.
Można zobaczyć przykłady projektów, które korzystają z modułów w katalogu testowym w CodePlex, this one na przykład. Dane wyjściowe do kompilacji tych projektów testowych to pliki .js, które można załadować na przykład przez requirejs (jeśli przekażemy --module amd) lub Node (jeśli przekażemy --module commonjs).
Jeśli twoja aplikacja będzie składać się tylko z modułów/plików maszynopisu, nie będzie można używać modułów ładujących lub innych funkcji zarządzania zależnościami. Będziesz musiał uwzględnić wszystkie zależności za pomocą komentarzy i użyć opcji --out kompilatora. Np:
tsc --out compiled.js app.ts
Będzie to umieścić w compiled.js wygenerowane js dla app.ts i wszystkich jego zależności, w tym zależności od zależności. Wynikowy plik można następnie dołączyć bezpośrednio do pliku html za pomocą znacznika script. Można go również zminimalizować. Ładowanie modułu w czasie wykonywania nie jest obsługiwane
- 1. Zarządzanie pakietami w git dla Windows?
- 2. Logowanie globalnie (między pakietami)
- 3. Zipimport z pakietami
- 4. Dziedziczenie stałych z pakietami wbudowanymi
- 5. Różnica między pakietami Umbraco NuGet
- 6. Zarządzanie aplikacjami a kontenerami Zarządzanie podmiotami
- 7. Aplikacja internetowa z pakietami backbone.js i requirejs, optimizer requirejs
- 8. Jak jest napisane TypeScript 100.0% w TypeScript?
- 9. Mapbox Typescript
- 10. Moduły TypeScript
- 11. TypeScript Obfuskation
- 12. W tym dodatkowe zasoby z pakietami OSGi
- 13. Użyj pip lub conda do zarządzania pakietami?
- 14. Wykryj konflikty między pakietami w R
- 15. Ścieżki względne z modułami/pakietami RequireJS
- 16. Reguły dopasowania pakietów parametrów z wieloma pakietami
- 17. Nuget - zarządzanie i usuwanie opakowań wielo wersji w jednym rozwiązaniu
- 18. Zarządzanie sesją Wordpress
- 19. Zarządzanie wersjami - najlepsza praktyka
- 20. Zarządzanie pamięcią java
- 21. Scentralizowane zarządzanie błędami 2?
- 22. Globalne zarządzanie wyjątkami Angular2
- 23. Big Merge/Zarządzanie pamięcią
- 24. Zarządzanie log4j.properties z leinem
- 25. Zarządzanie konfiguracją kontenera automatycznego
- 26. Zarządzanie pamięcią CMBlockBuffer
- 27. Zarządzanie konfiguracją roli Azure
- 28. Zarządzanie plikiem .git rozmiar
- 29. Zarządzanie etykietami w .net
- 30. zarządzanie przepustowością z szynami?