2016-08-16 1 views
0

Je sais que le TypeScript outFile usage is not recommended.TypeScript ne résolvant pas le fichier

Mais je suis obligé de l'utiliser jusqu'à ce que j'ai le temps d'implémenter une meilleure solution telle que AMD. Je crois que j'ai un "problème de division de module". J'ai deux fichiers dans le même répertoire:

referencedFile.ts de fichier:

module my.namespace { 

    export class one { 
    } 

    export class two { 
    } 
} 

anotherClass.ts de fichier:

module my.namespace { 
    export class anotherClass { 
     constructor() { 
     // THROWS ERROR "JavaScript runtime error: Object doesn't support this action" 
     var x = new my.namespace.one(); 
     } 
    } 
} 

Lors de l'exécution, je reçois l'erreur « L'objet ne prend pas en charge cette action "en essayant d'instancier une nouvelle classe" un ". Débogage dans le constructeur d'anotherClass, je peux voir my.namespace.one et my.namespace.two n'existent pas à ce stade.

J'ai ajouté cette ligne en haut de anotherClass.ts et il ne réglait pas:

/// <reference path="referencedFile.ts" /> 

Mon dactylographiées paramètres Visual Studio "Combiner sortie Javascript dans un seul fichier: Scripts \ oneFile.js"

Je peux voir dans le "oneFile.js" généré, le code de referencedFile.ts est là, et il est dans le fichier avant le code d'anotherClass.js donc je ne pense pas qu'il y ait un problème de commande.

Ce qui donne?

+1

Quelle version de TypeScript utilisez-vous? –

+0

1.8.36 répertorié dans VS 2015, mais j'avais 1.7.6 outils installés dans les fichiers de programme. J'ai supprimé les outils 1.7.6 et cela a peut-être résolu. Va vérifier mais voudrait comprendre pourquoi – user210757

+1

Vous pouvez commencer à regarder dans [le mot-clé 'import'] (https://www.typescriptlang.org/docs/handbook/module-resolution.html), puisque vous utilisez une version qui le supporte. Il prend en charge les commentaires '///

Répondre

0

Le problème a fini par avoir le typecript 1.7.6 installé même si j'avais 1.8.36 installé avec VS 2015

1

De: // THROWS ERROR "JavaScript runtime error: Object doesn't support this action"

Il est clair que l'ordre est faux.

avec préciser l'ordre outFile

Vous pouvez utiliser le bon vieux reference tour du fichier. Ceci est documenté bien ici:

PS: Je suis sûr que vous connaissez mes opinions sur le sujet: https://basarat.gitbooks.io/typescript/content/docs/tips/outFile.html mais toujours digne de mention pour les autres.

+0

Great info. Le problème a fini par être installé tapuscrit 1.7.6 même si j'avais 1.8.36 installé avec VS 2015. Et oui sur le P.S. - J'ai inclus ce lien dans ma question – user210757