2017-09-22 2 views
2

Lors de l'utilisation isDevMode() fonctionne très bien pour la construction JIT, tout a échoué pour AOT indiquantangulaire AOT à l'aide isDevMode donnant erreur

Error: Error encountered resolving symbol values statically. Calling function 'isDevMode', function calls are not supported. Consider replacing the function or lambda with a reference to an exported function 

essayant de créer la fonction d'exportation comme cela, mais pas de chance

export function isDevModeEnabled() { 
    return isDevMode(); 
} 
+0

Également connaissant ce problème; aimerait une solution. – ReactingToAngularVues

Répondre

1

Donc, j'ai également rencontré cette erreur, et l'a soulevée comme un problème here. La réponse officielle de l'équipe de développement Angular 2 est que ce n'est pas un bug:

Je crois que c'est un comportement prévu. La solution consiste à déplacer isDevMode() hors de l'annotation. (En définissant à une variable)

La solution officielle est:

[...] Vous devez définir la valeur de retour à une variable, et utiliser plutôt la variable que d'appeler la fonction lors du câblage du NgModule.

+0

Merci @ReactingToAngularViews le code suivant fonctionne pour moi let checkDevMode = false; if (isDevMode()) { checkDevMode = true; } –

0

A devinez, mais peut-être que vous pouvez essayer de faire la fonction public au lieu de quoi que ce soit esle - il m'a aidé avec problems quand j'ai essayé de compiler AOT.

+0

La fonction est en dehors de la classe, donc impossible d'ajouter un mot-clé public –