Angular 8更新后未构建Angular MomentDateTimeAdapter

时间:2019-06-05 14:15:41

标签: angular

更新我的角度项目后,由于重大更改,我遇到了一些问题。现在我的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教程中描述的所有步骤,并更新了所有依赖项。有人知道如何解决这个问题吗?

3 个答案:

答案 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中,构建就可以再次使用。