在 Angular 项目中,我们使用以下 CSS 属性(在 scss 样式表中)为元素设置动画:
@keyframes animationName {
0% {
y: 10
}
100% {
y: 500;
}
}
.svgRectangle {
animation-iteration-count: infinite;
animation-timing-function: linear;
animation-name: animationFirst;
animation-duration: 0.8s;
}
问题:虽然这些动画在开发服务器 ( ng serve
) 中运行良好,但在构建项目的生产版本时却无法运行。查看页面的源代码,keyFrame 不再存在(css 属性在那里)。
经过一段时间的挖掘和尝试,事实证明,禁用aot
和buildOptimizer
(默认为 true)将创建一个动画工作的 prod 构建。
我现在的问题是:这是正常的和有意的吗?如果是这样,我如何使用本机 CSS 动画,而不需要将它们转换为角度动画(这可能是我已经在其他线程中找到的选项,但是,如果可能的话,我更愿意使用 CSS 动画)。