使用Angular时。使用材料时出现以下错误。请帮帮我:这些是我在终端中遇到的错误
./ node_modules/@angular/material/esm5/core.es5.js中的警告1478:59-77 “在'@ angular / core'中找不到导出'ɵɵdefineInjectable'
package.json
"dependencies": {
"@angular/animations": "^7.2.15",
"@angular/cdk": "^8.1.1",
"@angular/common": "~7.2.0",
"@angular/compiler": "~7.2.0",
"@angular/core": "~7.2.0",
"@angular/forms": "~7.2.0",
"@angular/material": "^8.1.1",
"@angular/platform-browser": "~7.2.0",
"@angular/platform-browser-dynamic": "~7.2.0",
"@angular/router": "~7.2.0",
"angular-datatables": "^7.0.0",
"cleave.js": "^1.5.0",
"core-js": "^2.5.4",
"datatables.net": "^1.10.19",
"datatables.net-dt": "^1.10.19",
"jquery": "^3.4.0",
"ngx-cleave-directive": "^1.0.6",
"ngx-toastr": "^10.0.4",
"rxjs": "~6.3.3",
"sweetalert2": "^8.11.7",
"tslib": "^1.9.0",
"zone.js": "~0.8.26"
},
答案 0 :(得分:0)
defineInjectable
和inject
已成为已编译Angular代码的一部分,以支持tree-shakeable
提供程序。
最近,defineInjectable
被重命名为ɵɵdefineInjectable
,而defineInjectable
被弃用。
这使8版之前的库与v8兼容,但是v8编译后的库将与8版之前的使用者不兼容。
如果您希望在 v7 中使用库,则还必须使用 v7 进行编译。原因是新版本是向后兼容的,而较旧版本是前向兼容的。
因此,将您的@angular/core
更新为v8或将v7用作角度。