Wygląda maszynopis ma ładny system modułowy, to jednak nie zastąpi potrzebę czegoś podobnego requirejs? Innymi słowy, gdy „kompilacji” pakiet maszynopis ma obsługiwać wszystkie uchwały o zależnościach dla ciebie? Przykłady będą mile widziane!
Maszynopis zarządzania pakietami
Maszynopis nie posiada ładowacz modułu wykonawczego. Nadal będą musiały zapewnić ładowarka moduł używać w czasie wykonywania, np wymagać js. Maszynopis obsługuje generowanie kodu JavaScript kompatybilne z obu commonJS (dla node.js skrypty) oraz ładowarki AMD (np requireJS). Aby określić, który z nich korzystać podanie w „--module” przełącznik do kompilatora albo z „amd” lub „commonjs”.
Oto w jaki sposób 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 działał zarówno AMD zgodnych ładowarek zależność jak requirejs lub commonjs środowiskach, takich jak węzeł. Można kontrolować to z --module opcji do kompilatora. Sam kompilator nie obsługuje rozdzielczość zależność w czasie wykonywania, że to do ciebie do pracy, ale robi zależności próba rozwiązywaniu podczas kompilacji więc może dać wpisywania informacji.
Można zobaczyć przykłady projektów, które wykorzystują moduły w katalogu testów na CodePlex, ten na przykład. Wyjście kompilacji tych projektów badawczych są .js że będzie obciążana albo, na przykład, requirejs (jeśli przejdą --module AMD) lub węzeł (jeśli przejdą --module commonjs).
Jeśli aplikacja będzie się składać wyłącznie przez moduły maszynopis / plików możliwe jest, aby nie używać ładowarki modułu lub inny zarządzania zależność. Trzeba będzie obejmować wszystkie zależności z odniesieniami komentarz i użyć --out opcję kompilatora. Na przykład:
tsc --out compiled.js app.ts
Będzie to umieścić w compiled.js generowanych js dla app.ts i wszystkich jego zależności, w tym zależności od zależności. Plik wynikowy może być zawarte bezpośrednio w pliku html z tagu skryptu. Może być również minified. Moduł ładowania na starcie nie jest obsługiwany













