Het lijkt erop dat typoscript heeft een mooie module systeem, maar doet dit vervangt de noodzaak om iets als requirejs? Met andere woorden, als je compile een typoscript pakket doet het omgaan met alle afhankelijkheid resolutie voor u? Voorbeelden zou worden gewaardeerd!
Typoscript package management
bron van user Abdullah Jibaly
In andere talen...
Typescript heeft geen runtime module loader. U zult nog steeds nodig om een module loader te bieden om te gebruiken tijdens runtime, bijvoorbeeld vereisen js. Typescript ondersteunt het genereren van JavaScript-code compatibel met ofwel commonJS (voor node.js scripts) en AMD laders (bijv requireJS). Aangeven welke te pas in het "--module" schakelaar in de compiler met ofwel "amd" of "commonjs".
Hier is hoe je een module exporteert de schrijfmachine:
export module depModule {
export class A {
}
}
en hier is de gegenereerde JavaScript-code met --module amd switch:
define(["require", "exports"], function(require, exports) {
(function (depModule) {
var A = (function () {
function A() { }
return A;
})();
depModule.A = A;
})(exports.depModule || (exports.depModule = {}));
})
Typescript kan code die werkt met zowel AMD-compatibele afhankelijkheid laders zoals requirejs of commonjs omgevingen zoals Node uitzenden. U kunt deze bedienen met de --module optie om de compiler. De compiler zelf geen afhankelijkheid resolutie te behandelen tijdens runtime, dat is aan jou om uit te werken, maar het doet poging te lossen afhankelijkheden tijdens het compileren, dus het kan geven u typt informatie.
U kunt voorbeelden van projecten die modules te gebruiken in de test directory op CodePlex, kunt u deze bijvoorbeeld. De output van de opstelling van deze testprojecten zijn Js bestanden die belastbaar met ofwel zal zijn, bijvoorbeeld requirejs (als je voorbij --module amd) of Node (als je voorbij --module commonjs).
Als uw aanvraag wordt samengesteld alleen typoscript modules / bestanden is het mogelijk om geen gebruik module laders of andere afhankelijkheid management. Je moet alle afhankelijkheden met de opmerking van referenties en gebruik de --out optie van de compiler. bv:
tsc --out compiled.js app.ts
Dit zal zetten in compiled.js de gegenereerde js voor app.ts en al zijn afhankelijkheden, met inbegrip van afhankelijkheden van afhankelijkheden. Het resulterende bestand kan vervolgens direct worden opgenomen in de html-bestand met de script-tag. Het kan ook worden verkleind. Module belasting op runtime wordt niet ondersteund