Je dois écrire un SDK Javascript pour un petit projet sur lequel je travaille. Pour ce faire, j'avais pensé à créer un projet TypeScript et à le compiler en un seul fichier Javascript, afin que les utilisateurs de mon SDK puissent simplement injecter ce fichier dans leurs pages web.Comment compiler un projet TypeScript vers un seul fichier JS afin qu'il soit utilisable dans le navigateur
Cependant, je viens juste de savoir que si j'utilise import
, et que je tente de compiler en un seul fichier, alors il ne supporte que SystemJS. Alors, comment compiler un projet TypeScript en un seul fichier JS afin qu'il soit utilisable dans le navigateur?
En utilisable dans le navigateur, je veux dire que si je crée une classe App
dactylographiée, alors je pourrais le faire dans la console dev:
var x = new App();
Je suis dans ce domaine depuis plus d'une heure maintenant, et tout ce que j'ai trouvé semble suggérer que ce n'est pas possible.
Edit:Thisn'a pas vraiment répondu à ma question. Comme je l'ai dit dans l'exemple, j'ai besoin de la fonctionnalité que s'il y a une classe appelée App
dans mon projet TypeScript, elle devrait être visible au navigateur avec le même nom, donc je pourrais faire var x = new App()
dans ma console de développement. (Ou un utilisateur peut le faire dans son fichier JS qu'il injecte après avoir injecté mon fichier SDK). Cette réponse indique simplement comment créer un fichier de sortie dans SystemJS.
double possible de [Tapuscrit compilation dans un fichier unique] (https://stackoverflow.com/questions/34474651/typescript-compile-to-single-file) – toskv
Vous pouvez définir 'App' globalement, eh bien, par la valeur initiale de' this', 'self' ou' window'. Vous pouvez également définir directement 'App' globalement, mais TS avertira. c'est-à-dire, App = class App {}; ' – Hydro
Donc je vais devoir faire cela pour chaque classe que je veux exposer? Il n'y a pas d'autre moyen évolutif de le faire? – bk2dcradle