2017-03-06 1 views
0

Je suis vraiment nouveau à Typescript2. Je l'aime et j'ai écrit un module que je peux facilement importer et utiliser dans d'autres projets de Typescript2. Mais je veux aussi que ma bibliothèque puisse être utilisée de manière autonome en utilisant simplement une balise HTML. Quand je fais cela, cependant, le navigateur se plaint que "les exportations ne sont pas définies".Chargement transpiré TS2 avec HTML <script> tag?

Je suppose que je dois écrire une sorte de javascript qui importe mon module et l'instancie, puis demande à mon navigateur de charger ce script wrapper. Suis-je sur la bonne voie? Comment puis-je créer un script qui transporte quelque chose que je peux simplement charger nativement dans le navigateur avec une balise de script qui ne fait que charger et instancier?

Répondre

0

Vous êtes sur la bonne voie. Ce dont vous avez besoin est un chargeur de module. Pour le navigateur, requirejs est mentionné dans le typescript documentation, bien qu'il existe plusieurs options (requirejs, browserify, webpack, rollup).

-je utiliser requirejs avec tapuscrit, j'ai donc l'expérience pour réaliser les étapes suivantes:

Pour requirejs, vous pouvez faire ce qui suit pour commencer.

  1. Assurez-vous que vous compilez des modules au format AMD lors de l'exécution de la commande du compilateur dactylographiée (tsc) en utilisant le fichier de configuration de la machine ou de ligne de commande compiler option arguments

    // tsconfig.json 
    { 
        "compilerOptions": { 
         "module": "amd" 
        } 
    } 
    
  2. Get requirejs

  3. Notez le nom du fichier .js qui est sortie par le compilateur dactylographiée
    • Par exemple, "my-script.js"
  4. Ajouter une balise de script à la page
    • Pour exemple <script data-main="scripts/my-script" src="require.js"></script>

Il y a une simple "mise en route" pa En outre, pour exporter plusieurs modules dans un seul fichier, vous pouvez utiliser l'option de compilation --outFile pour le typecript.