2016-02-09 3 views
1

J'ai l'application angular2 et j'utilise immutable.js. Quand j'utilise la fonction Map de l'utilisateur de immutable le compilateur de tapuscrit est bloqué. Quand je n'importes pas la frappe de immutable.js cela fonctionne très bien mais j'obtiens des erreurs pour chaque fonction que j'utilise de `immutable.js.TapScript coincé lors de la compilation du fichier qui utilise immutable.js Tapez le type

import {Map} from 'immutable'; 

Ceci est la ligne qui bloque les caractères dactylographiés.

+0

Blocs? Quel est le message d'erreur réel? –

+0

Pas d'erreur msg. Tout simplement le typecript est bloqué et je dois utiliser 'ctrl + c' pour l'arrêter – Kliment

+0

@VadimMacagon si je supprime les typings de' tsd.d.ts' le compilateur ne bloque pas mais j'obtiens des erreurs de syntaxe pour chaque fonction/classe que j'utilise de 'immutable.js' – Kliment

Répondre

4

Le Map de immutable.js peut entrer en conflit avec le code interne de TypeScript Map. Pour résoudre la collision, vous pouvez essayer quelque chose comme import {Map} as MyMap from 'immutable' et utiliser MyMap dans votre code. Vous pouvez également utiliser import * as Immutable from 'immutable' et accéder aux fonctionnalités de l'espace de noms Immutable.

+0

je l'ai essayé comme ceci' import {Map as MyMap} de 'immutable'' et ça ne marche pas. Se bloque également avec l'utilisation de l'espace de noms. Il fonctionne quand j'importe une fonction qui n'est pas 'Map' – Kliment

+0

Ne placez pas' comme MyMap' dans les accolades. Que se passe-t-il si vous utilisez 'import * comme Immutable de 'immutable'' et accédez à' Immutable.Map'? – MatthewScarpino

+0

Si je ne mets pas 'comme MyMap' dans les accolades je reçois une erreur de syntaxe si j'utilise 'import * comme immutable' le compilateur'criptable '' immutable 'bloque toujours – Kliment