Tapuscrit « var » est une erreur non définie

voix
1

Je construit une application console pour trouver tous les fichiers * .ts dans mon projet, puis de les compiler en utilisant tsc.exe.

Tout fonctionnait très bien, mais comme je l'ai converti mes fichiers JavaScript à tapuscrit, j'ai finalement couru dans l'erreur suivante:

ytsc.js (21053, 17) erreur d'exécution Microsoft JScipt: 'fenêtre' est indéfini

Chaque fois que cela est arrivé lorsque je tentais de fenêtre étendre:

window['prop'] = something;

Je l'ai testé le code jusqu'à ce que je trouve la réponse, qui avait peu à voir avec mon code ...

Créé 12/10/2012 à 04:12
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
2

La faute était mon outil de construction.

Je l'avais déclaré la commande option de ligne -e (exécuter) lorsque vous appelez tsc.exe: Je l'ai fait parce que je pensais que je pourrais ajouter un code de test automatisé dans les modules.

La cause de l'erreur: La plupart de mon code est en fonctions. Cependant, il y avait quelques endroits que je voulais étendre « fenêtre » (par exemple, si un construit, j'étais en fonction est manque d'un ancien navigateur calant ces appels). Le code pour calez l'objet de la fenêtre en cours d'exécution a été que le fichier chargé:

if (window.fun == null) {
    window.fun = function(){...};
}

Quoi qu'il en soit, en raison de l'option -e, le tsc.exe a tenté d'exécuter le code (en dehors d'un environnement de navigateur). Cela a provoqué l'erreur ci-dessus.

Créé 12/10/2012 à 04:12
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more