Angular 7:@ angular / core / core没有导出成员'OpaqueToken'

时间:2019-04-08 20:35:06

标签: angular

从刚从Angular创建的全新项目的构建中获取此错误消息:

dataframes[2]

我做了很多搜索,发现了一些不是我的问题的问题。这里有一些:

1)Module '"node_modules/@angular/core/core"' has no exported member 'OpaqueToken',不使用弹性布局

2)Why error in Angular 5 as : has no exported member 'OpaqueToken'.?,没有弹性布局,没有agm,还有其他与角度5有关的问题。

3)Angular - Module has no exported member 'OpaqueToken' Error,尝试将ngrx升级到最新,但无效。

这是一个简单的应用程序,它使用http请求并将结果存储在商店中,然后从商店中读取结果。

我没有直接使用OpaqueToken。这是我的package.json dep部分:

ERROR in node_modules/@ngrx/store/src/ng2.d.ts(1,10): error TS2305: Module '"../../../@angular/core/core"' has no exported member 'OpaqueToken'.

有什么不兼容的主意吗?我对Angular还是很陌生,而且似乎经常出现,只是从Angular创建一个新应用会导致必须修复依赖项。

2 个答案:

答案 0 :(得分:1)

我不确定github:ngrx/store到底能解决什么,但看起来最新的“稳定”版本(当我进入https://github.com/ngrx/store时会得到)是2.X,并且根据{ package.json中的{1}}仅与Angular 2.X和Angular 4.X兼容,并且您正在使用Angular 7.X。

有一个ngrx/store的4.X版本似乎是针对Angular 8.X的,所以也许您应该尝试那个版本?

此外,Angular也会发生这种情况,因为组件通常会将Angular列为对等依赖项(出于充分的理由)。这意味着,即使您的Angular版本无效,也只会收到警告,而在安装时不会出错。

编辑:而且,不知道为什么它被否决了,对我来说问题似乎还不错。不用担心。

答案 1 :(得分:1)

检查角度documentation,但找不到OpaqueToken。我认为这是过时的时间,现在已从@angular/core中删除。 角度跟随documentation恰好支持InjectionToken

InjectionToken

Creates a token that can be used in a DI Provider.

解决方案是将OpaqueToken替换为InjectionToken

P.S。 您也可以注意NgProbeToken(这完全取决于您的需求):

NgProbeToken

A token for third-party components that can register themselves with NgProbe.