On dirait que tapuscrit dispose d'un système de module agréable, mais cela ne remplace le besoin de quelque chose comme requirejs? En d'autres termes, lorsque vous « compiler » un paquet dactylographiée-t-il gérer toute la résolution de dépendance pour vous? Des exemples seraient appréciés!
gestion des paquets tapuscrit
source utilisateur Abdullah Jibaly
Dans d'autres langues...
Tapuscrit ne dispose pas d'un chargeur de module d'exécution. Vous aurez toujours besoin de fournir un chargeur de modules à utiliser lors de l'exécution, par exemple, ont besoin js. Tapuscrit prend en charge la génération du code JavaScript soit compatible CommonJS (pour les scripts de Node.js) et chargeurs AMD (par exemple requireJS). Pour spécifier lequel utiliser passe dans le commutateur « --module » au compilateur soit avec « amd » ou « CommonJS ».
Voici comment exporter un module dactylographiée:
export module depModule {
export class A {
}
}
et est ici le code JavaScript généré avec --module commutateur amd:
define(["require", "exports"], function(require, exports) {
(function (depModule) {
var A = (function () {
function A() { }
return A;
})();
depModule.A = A;
})(exports.depModule || (exports.depModule = {}));
})
Tapuscrit peut émettre du code qui fonctionnera avec les deux chargeurs de dépendance AMD compatibles comme requirejs ou environnements CommonJS comme nœud. Vous pouvez contrôler cela avec l'option --module au compilateur. Le compilateur lui-même ne gère pas la dépendance résolution lors de l'exécution, qui est à vous de travailler, mais il ne les dépendances de Resolve tentative de compilation afin qu'il puisse vous donner des informations tapez.
Vous pouvez voir des exemples de projets qui utilisent des modules dans le répertoire de test à CodePlex, celui - ci par exemple. La sortie de la compilation de ces projets de test sont des fichiers .js qui seront chargeable soit avec, par exemple, requirejs (si vous passez --module amd) ou nœud (si vous passez CommonJS --module).
Si votre demande sera composée uniquement par des modules dactylographiées / fichiers, il est possible de ne pas utiliser les chargeurs de modules ou d'autres la gestion des dépendances. Vous devrez inclure toutes les dépendances avec des références de commentaires et utilisez l'option --out du compilateur. Par exemple:
tsc --out compiled.js app.ts
Cela mettra en compiled.js les js générés pour app.ts et toutes ses dépendances, y compris les dépendances de dépendances. Le fichier obtenu peut alors être inclus directement dans le fichier html avec la balise de script. Il peut également être minifiés. Chargement du module sur l'exécution est pas pris en charge