2016-02-29 1 views
2

J'utilise Visual Studio Pro 2015 et j'ai activé la compilation automatique lors de la sauvegarde.Typescript Visual Studios 2015 bug de compilation automatique

Dans le fichier js compilé, j'obtiens une erreur dans la fonction __extends dactylographiée où 'Impossible de lire le prototype de propriété d'undefined' pour b.prototype.

Cependant, chaque fois que je reconstruis le projet, l'erreur disparaît et tout fonctionne.

Répondre

0

Cela me semble un problème avec l'ordre dans lequel vos classes sont insérées dans votre fichier .js compilé. I had a similar problem with Visual Studio's single-file compilation functionality. Lorsque vous parcourez le fichier compilé, y a-t-il une classe qui hérite d'une classe de base qui n'est définie que plus tard dans le fichier? Je ne sais pas pourquoi le comportement n'apparaît que lorsque la compilation est déclenchée par une sauvegarde, ce qui me semble étrange. Parfois, le compilateur semble un peu non déterministe lorsqu'il doit deviner l'ordre de sortie des résultats. Cela pourrait avoir quelque chose à voir avec la compilation incrémentale?

Pour résoudre ce problème, vous pouvez indiquer au compilateur qu'une classe particulière doit être définie après une autre avec une balise <reference>.

Ainsi, par exemple, une sous-classe avec une étiquette de référence comme celui-ci:

/// <reference path="./MyBaseClass" /> 
class MyClass extends MyBaseClass { 
} 

apparaît après la classe suivante dans le fichier .js compilé:

class MyBaseClass { 
} 
+0

merci je vais vérifier –