Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编译使用immutable.js映射类型的文件时,Typescript被卡住_Typescript_Angular_Immutable.js - Fatal编程技术网

编译使用immutable.js映射类型的文件时,Typescript被卡住

编译使用immutable.js映射类型的文件时,Typescript被卡住,typescript,angular,immutable.js,Typescript,Angular,Immutable.js,我有angular2应用程序,我正在使用immutable.js。当我使用用户Map函数时,来自immutabletypescript的编译器被卡住了。当我不从immutable.js导入输入时,它可以正常工作,但我从`immutable.js使用的每个函数都会出错 import {Map} from 'immutable'; 这是阻止typescript的行 来自immutable.js的Map可能与TypeScript的内部Map冲突。要解决冲突,您可以尝试从“不可变”中将{Map}导入为

我有angular2应用程序,我正在使用
immutable.js
。当我使用用户
Map
函数时,来自
immutable
typescript的编译器被卡住了。当我不从
immutable.js导入输入时,它可以正常工作,但我从`immutable.js使用的每个函数都会出错

import {Map} from 'immutable';

这是阻止typescript的行

来自immutable.js的
Map
可能与TypeScript的内部
Map
冲突。要解决冲突,您可以尝试从“不可变”中将{Map}导入为MyMap,并在代码中使用
MyMap


您还可以使用
import*作为“不可变”的不可变项
,并访问
Immutable
命名空间中的功能。

我已经使用了不可变版本3.8.2,并且它正与typescript一起工作

import {Map} from 'immutable';

const map1 = Map( {a: 1, b: 4, c: 3 })
const map2 = map1.set('b', 2)

像这样导入map函数
Import{map}来自'immutable'
将与javascript ES2015冲突,因此您不能同时使用这两个主题来解决此问题。您可以使用另一个变量或别名来保存不可变的映射函数,如下所示

import {Map as _map} from 'immutable';

const map1 = _map( {a: 1, b: 4, c: 3 })
const map2 = map1.set('b', 2)
您可以像这样导入整个不可变模块意味着所有不可变函数

import * as immutable from 'immutable';

const map1 = immutable.Map( {a: 1, b: 4, c: 3 })
const map2 = map1.set('b', 2)

阻碍?实际的错误消息是什么?没有错误消息。简单地说,typescript被卡住了,我必须使用
ctrl+c
来关闭它down@VadimMacagon如果我从
tsd.d.ts
中删除键入,编译器不会阻塞,但是我从
immutable.js
中使用的每个函数/类都会出现语法错误,我像这样尝试
import{Map as MyMap}来自“不可变”
,并且它不起作用。使用名称空间也会崩溃。当我导入的函数不是
Map
Don't put
作为MyMap
放在花括号中时,它就起作用了。如果您使用
import*作为“不可变”的不可变项,并访问
Immutable.Map
,会发生什么情况?如果我没有将
作为MyMap
放在大括号中,如果我使用
import*作为“不可变”的不可变项,则会出现语法错误。
typescript编译器仍然是块我刚刚转到Immutable.js页面()它们提供了一个TypeScript示例,该示例使用
import Immutable=require('Immutable')导入代码不可变的.Map
。这对您有用吗?仍然无法运行:(