如何使用DatePipe在Angular 7中显示日期

时间:2019-03-08 14:25:51

标签: angular

我从前任员工那里接过了Angular 5的代码库,最近又经历了一个涉及过程,以使其与Angular 7保持同步。

该代码已在开发和生产环境中部署到Netlify。我在两种环境中使用的构建命令如下。

对于开发人员:ng build --prod=false --configuration=staging

对于产品:ng build --prod=true --configuration=production

当我部署到开发人员时,没有任何问题。该应用程序的构建没有问题,并按预期运行。

今天早上,这是自主要版本升级以来的第一次,我正在部署到产品中。在Netlify上构建失败,并出现一个错误,对我来说似乎很奇怪。

The pipe 'date' could not be found ("
  <h4>Token Expiration</h4>
  <pre>{{[ERROR ->]expiresAt | date:'medium'}}</pre>
  <button class="btn btn-primary"
"): /opt/build/repo/src/app/token/token.component.html@13:9

expiresAt方法位于token.component.ts中,非常简单:

get expiresAt() {
  return JSON.parse(localStorage.getItem('expires_at'));
}

token.component.html中,令牌过期的显示也非常简单:

<h4>Token Expiration</h4>
<pre>{{expiresAt | date:'medium'}}</pre>

对于此版本构建失败并为生产者而不是开发者显示此错误的原因,有人是否有任何建议?

1 个答案:

答案 0 :(得分:2)

似乎您启用了新的Angular渲染引擎(常春藤),该引擎可能具有issue atm,且Pipes处于AOT模式。

检查是否在tsconfig.json中启用了该功能,并暂时将其关闭:

"angularCompilerOptions": {
    "enableIvy": false
}