Angular 7:@Angular/core/core没有导出成员';OpaqueToken';
在刚从Angular创建的全新项目的构建中获取此错误消息:Angular 7:@Angular/core/core没有导出成员';OpaqueToken';,angular,Angular,在刚从Angular创建的全新项目的构建中获取此错误消息: ERROR in node_modules/@ngrx/store/src/ng2.d.ts(1,10): error TS2305: Module '"../../../@angular/core/core"' has no exported member 'OpaqueToken'. 我做了一系列的搜索,发现了一些不是我的问题。以下是一些: 1) ,不使用flex布局 2) ,无弹性布局,无年度股东大会,其他问题 3) ,尝试将n
ERROR in node_modules/@ngrx/store/src/ng2.d.ts(1,10): error TS2305: Module '"../../../@angular/core/core"' has no exported member 'OpaqueToken'.
我做了一系列的搜索,发现了一些不是我的问题。以下是一些:
1) ,不使用flex布局
2) ,无弹性布局,无年度股东大会,其他问题
3) ,尝试将ngrx升级至最新版本,但无效
这是一个简单的应用程序,它使用http请求并将结果放入存储,然后从存储读取该结果
我没有直接使用OpaqueToken。以下是my package.json dep部分:
"dependencies": {
"@angular/animations": "~7.2.0",
"@angular/common": "~7.2.0",
"@angular/compiler": "~7.2.0",
"@angular/core": "~7.2.0",
"@angular/forms": "~7.2.0",
"@angular/platform-browser": "~7.2.0",
"@angular/platform-browser-dynamic": "~7.2.0",
"@angular/router": "~7.2.0",
"@ngrx/core": "github:ngrx/core",
"@ngrx/store": "github:ngrx/store",
"core-js": "^2.5.4",
"cors": "^2.8.5",
"ngrx": "^2.0.1",
"rxjs": "^6.4.0",
"rxjs-compat": "^6.4.0",
"tslib": "^1.9.0",
"zone.js": "~0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.13.0",
"@angular/cli": "~7.3.1",
"@angular/compiler-cli": "~7.2.0",
"@angular/language-service": "~7.2.0",
"@types/node": "~8.9.4",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "~2.0.3",
"codelyzer": "~4.5.0",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~3.1.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.11.0",
"typescript": "~3.2.2"
}
}
你知道什么是不相容的吗?我对Angular还是相当陌生,而且似乎太频繁了,仅仅从Angular创建一个新的应用程序就必须修复依赖关系。我不确定github:ngrx/store到底解决了什么问题,但它看起来像是最新的“稳定”版本(当我去是2.X,根据
ngrx/store
中的package.json
,2.X版本仅与Angular 2.X和Angular 4.X兼容,您使用的是Angular 7.X
有一个4.X版本的ngrx/store
,它的目标是角度为8.X的,所以也许你应该试试这个
同样,Angular也会出现这种情况,因为组件通常会将Angular列为对等依赖项(这是有充分理由的)。这意味着,即使您的Angular版本无效,在安装时也只会收到警告,而不是错误
编辑:还有,不知道为什么会被否决,这个问题对我来说很好。别担心。检查我没有找到的角度标记OpaqueToken
。我认为它以前是不推荐的,现在从@angular/core
中删除了。
角度跟踪完全支持InjectionToken
解决方案是将OpaqueToken
替换为InjectionToken
附言。
您还可以关注NgProbeToken
(这取决于您的需要):
建议:考虑删除<代码> NoDEYMeals/*<代码>和所有子文件夹,尝试一个新的<代码> NPM安装< /代码>。@ PaulsM4我已经尝试过了,但是从那时起我已经做了几次修改,所以我再次尝试。同样的结果。@Thom那么这个问题有什么解决方案吗?就是这样,谢谢。我想知道为什么它安装了如此破旧的ngrx/store版本。我把它改成了:“@ngrx/store”:“^4.1.1”,啊,好像有什么名字的变化。2.X之后版本的NPM模块
@ngrx/store
存储在Github repo中:
InjectionToken
Creates a token that can be used in a DI Provider.
NgProbeToken
A token for third-party components that can register themselves with NgProbe.