从刚从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创建一个新应用会导致必须修复依赖项。
答案 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.