更新我的角度项目后,由于重大更改,我遇到了一些问题。现在我的MomentDateTimeAdapter出现问题。我正在使用this。(/ ng-pick-datetime-moment)。
我的应用程序在开发人员模式下运行良好,但是一旦我尝试建立高效的(ng build --prod
),我就会收到此错误消息:
错误 .. \ ng-pick-datetime-moment \ moment-adapter \ moment-date-time-adapter.class.ts(46,2): 'MomentDateTimeAdapter'函数的模板编译期间出错 装饰器中不支持调用,但调用了“ɵmakeDecorator” 在“可注射”中 “可注射”称为“ɵmakeDecorator”。
我采取了angular-update教程中描述的所有步骤,并更新了所有依赖项。有人知道如何解决这个问题吗?
答案 0 :(得分:2)
这是因为ng-pick-datetime-moment
-包嵌入有角7。
MomentDateTimeAdapter也包含在ng-pick-datetime
软件包中。 (v 7.0.0)
无需从ng-pick-datetime-moment
包中导入,而是从from ng-pick-datetime package
中导入。
import { MomentDateTimeAdapter, OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS } from 'ng-pick-datetime/date-time/adapter/moment-adapter/moment-date-time-adapter.class';
答案 1 :(得分:1)
Here @mat-datetimepicker/核心描述。所以不同的Angular版本应该使用不同版本的包。
<块引用>您可以在 3.x 分支上找到 Angular 8 版本。
您可以在 4.x 分支上找到 Angular 9 版本。
您可以在 5.x 分支上找到 Angular 10 版本。
我在 package.json 中更改了这些依赖项的版本,它有所帮助
之前(Angular 8):
"@mat-datetimepicker/core": "3.0.0-beta.0",
"@mat-datetimepicker/moment": "3.0.0-beta.0",
之后(Angular 9):
"@mat-datetimepicker/core": "^4.0.0",
"@mat-datetimepicker/moment": "^4.0.0",
答案 2 :(得分:0)
我不知道为什么,但是我发现了this github entry。
只需将"paths": { "@angular/*": ["../node_modules/@angular/*"] },
添加到我的tsconfig.app.json
中,构建就可以再次使用。