投放服务时出现弹性布局问题

时间:2018-10-11 17:47:43

标签: angular typescript flexbox

抱歉,我尝试了这个link所说的事情,但是没有任何改变,有人可以帮助我。 错误控制台


node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(25,15)中的错误:错误TS2416:属性“ registry”在类型“ MockMatchMedia”不能分配给基本类型“ MatchMedia”中的相同属性。       不能将“地图”类型分配给“地图”类型。         类型“ MockMediaQueryList”不可分配给类型“ MediaQueryList”。           属性“ removeListener”的类型不兼容。             类型'((:EventListenerOrEventListenerObject)=> void'不能分配给类型'(listener:MediaQueryListListener)=> void'。               参数“ _”和“侦听器”的类型不兼容。                 类型'MediaQueryListListener'不可分配给'EventListenerOrEventListenerObject'类型。                   类型“ MediaQueryListListener”不可分配给“ EventListenerObject”类型。                     类型“ MediaQueryListListener”中缺少属性“ handleEvent”。     node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(82,5):错误TS2416:类型“ MockMediaQueryList”中的属性“ removeListener”不可分配给基本类型“ MediaQueryList”具有相同的属性。       类型'(:EventListenerOrEventListenerObject)=>无效'不能分配给类型'(listener:MediaQueryListListener)=>无效'。         参数''和'listener'的类型不兼容。           类型'MediaQueryListListener'不可分配给'EventListenerOrEventListenerObject'类型。             类型“ MediaQueryListListener”不可分配给“ EventListenerObject”类型。     node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(83,38):错误TS2304:找不到名称“ MediaQueryListEventMap”。     node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(83,99):错误TS2304:找不到名称“ MediaQueryListEventMap”。     node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(84,41):错误TS2304:找不到名称“ MediaQueryListEventMap”。     node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(84,102):错误TS2304:找不到名称“ MediaQueryListEventMap”。     node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(95,67):错误TS2304:找不到名称“ MediaQueryListEvent”。     node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(30,5):错误TS2416:“ ServerMediaQueryList”类型中的属性“ removeListener”     不能分配给基本类型“ MediaQueryList”中的相同属性。       类型'(:EventListenerOrEventListenerObject)=>无效'不能分配给类型'(listener:MediaQueryListListener)=>无效'。         参数''和'listener'的类型不兼容。           类型'MediaQueryListListener'不可分配给'EventListenerOrEventListenerObject'类型。             类型“ MediaQueryListListener”不可分配给“ EventListenerObject”类型。     node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(31,38):错误TS2304:找不到名称“ MediaQueryListEventMap”。     node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(31,99):错误TS2304:找不到名称“ MediaQueryListEventMap”。     node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(32,41):错误TS2304:找不到名称“ MediaQueryListEventMap”。     node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(32,102):错误TS2304:找不到名称“ MediaQueryListEventMap”。     node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(46,15):错误TS2416:类型'ServerMatchMedia'中的属性' registry'无法分配基本类型“ MatchMedia”中的相同属性。       不能将“地图”类型分配给“地图”类型。         类型“ ServerMediaQueryList”不可分配给类型“ MediaQueryList”。           属性“ removeListener”的类型不兼容。             类型'((:EventListenerOrEventListenerObject)=> void'不能分配给类型'(listener:MediaQueryListListener)=> void'。               参数“ _”和“侦听器”的类型不兼容。                 类型'MediaQueryListListener'不可分配给'EventListenerOrEventListenerObject'类型。                   类型“ MediaQueryListListener”不可分配给“ EventListenerObject”类型。     node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(58,15):错误TS2416:类型'ServerMatchMedia'中的属性'_buildMQL'无法分配给相同的基本类型为“ MatchMedia”的媒体资源。       类型'(query:字符串)=> ServerMediaQueryList'不可分配给类型'(query:字符串)=> MediaQueryList'。         类型“ ServerMediaQueryList”不可分配给类型“ MediaQueryList”。     node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(60,67):错误TS2304:找不到名称“ MediaQueryListEvent”。

10 个答案:

答案 0 :(得分:12)

我找到了一个解决方案,如果IDK遇到相同的问题,并且最好解决,但对我来说可行:

    npm install @angular/flex-layout@6.0.0-beta.18 

答案 1 :(得分:4)

在您的项目中: 从package.json中删除/删除弹性布局 然后运行:

npm update

其次:

npm install @angular/flex-layout@latest --save

这将自动安装与您的角形材料兼容的最新版本的flex。

答案 2 :(得分:2)

就我而言,我卸载了@ angular / flex-layout 它立即解决了问题。

这是在从6.2版更新到7号角之后发生的

希望这会有所帮助。

答案 3 :(得分:1)

有一次,我在flex-layout和MatchMedia上遇到了类似的问题。经过大量调试后,罪魁祸首是rxjs。

因此,请您检查一下package.json文件中的这些软件包是否没有使用语义版本控制。

在下面,我得到了错误

"rxjs": "^6.2.2",
"rxjs-compat": "^6.2.1",

更改可以解决问题

"rxjs": "6.2.2",
"rxjs-compat": "6.2.1",

请尝试一下并检查

答案 4 :(得分:1)

我有同样的问题。我猜想新版本的Flex Layout ^7.0.0-beta.19与旧版本的angular不完全兼容,即低于7。我运行ng-update --all并将typescript版本更新为{{1} },一切运行正常。您可以从 here

获取更多信息

答案 5 :(得分:1)

它有一些与版本有关的问题,只需运行ng update all命令

答案 6 :(得分:1)

我也得到了

node_modules/@angular/flex-layout/extended/typings/style/style.d.ts(72,67)中的错误:错误TS1144:“ {”或“;”预期。 node_modules/@angular/flex-layout/extended/typings/style/style.d.ts(74,5):错误TS1128:需要声明或声明。 node_modules/@angular/flex-layout/extended/typings/style/style.d.ts(74,33):错误TS1005:';'预期。 node_modules/@angular/flex-layout/extended/typings/style/style.d.ts(74,39):错误TS1109:需要表达式。 node_modules/@angular/flex-layout/extended/typings/style/style.d.ts(79,5):错误TS1128:需要声明或声明

我通过安装打字稿2.9.1版解决了该问题

答案 7 :(得分:1)

将“ rxjs”:“〜6.4.0”更改为“ rxjs”:“ 6.4.0”对我有用 我也将flex布局更新为最新版本 跟随@RileyManda和@Vivek kumar为我工作

答案 8 :(得分:0)

对我来说,这很好:

npm install @angular/flex-layout@6.0.0-beta.18 --save

答案 9 :(得分:0)

我更正了问题文件,node_modules / @ angular / flex-layout / core / typings / match-media / mock / mock-match-media.d.ts(82,5):

错误TS2416:类型'MockMediaQueryList'中的属性'removeListener'无法分配给基本类型'MediaQueryList'中的相同属性。类型'(:EventListenerOrEventListenerObject)=>无效'不能分配给类型'(listener:MediaQueryListListener)=>无效'。参数“ low _ dash”和“ listener”的类型不兼容。参数“监听器”的类型与“低_破折号”参数的类型不同。我用关键字“ this”替换了“ _”参数,脚本现在可以正常工作,并且ng serve和ng build的编译速度为100%。

相关问题