我从前任员工那里接过了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>
对于此版本构建失败并为生产者而不是开发者显示此错误的原因,有人是否有任何建议?
答案 0 :(得分:2)
似乎您启用了新的Angular渲染引擎(常春藤),该引擎可能具有issue atm,且Pipes处于AOT模式。
检查是否在tsconfig.json
中启用了该功能,并暂时将其关闭:
"angularCompilerOptions": {
"enableIvy": false
}