【发布时间】:2017-11-23 11:40:01
【问题描述】:
在我的应用程序中添加动画时出现此错误。
我找到了:Angular 4 - Import BrowserAnimationsModule or NoopAnimationsModule。我将条目添加到 systemjs.config.js:
'@angular/animations': 'node_modules/@angular/animations/bundles/animations.umd.min.js',
'@angular/animations/browser':'node_modules/@angular/animations/bundles/animations-browser.umd.js',
'@angular/platform-browser/animations': 'node_modules/@angular/platform-browser/bundles/platform-browser-animations.umd.js'
我将导入添加到 app.module.ts(根模块):
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
],
declarations: [
...
],
bootstrap: [
AppComponent
],
providers: [
...
]
})
export class AppModule { }
我还安装了动画包:
npm install @angular/animations@latest --save
我可能缺少什么?
编辑: 我知道这个问题看起来非常像我链接的问题的完全副本,它有各种答案。浏览它们并没有帮助,这就是为什么我要求我忽略的东西。
edit2: 我还检查了Importing BrowserAnimationsModule Throws 404 - SystemJS Config Issue?,它针对已经在 Angular 4 中命名的相同解决方案 - Import BrowserAnimationsModule...(上)
edit3: 正如 cmets 提到的: 我已经导入了 BrowserModule 和 BrowserAnimationsModule。上面的代码部分已更新以反映这一点。
edit4: 由于我的应用程序的子模块中有动画,因此我尝试了所有三种变体:在根模块中导入、在子模块中导入以及在两者中导入。
edit5:
我用 npm outdated 检查了包版本,并阅读了How to update the angular2 version to the latest,发现了这个错误:npm update --save duplicates devDependencies as dependencies。我意识到我一直在用npm update --save 更新我的包,这就是为什么许多包已经过时了。可悲的是,现在它们已经更新了,但仍然无法正常工作。
Package Current Wanted Latest Location
@types/jasmine 2.5.36 2.5.36 2.5.52 kidzpointz
@types/node 6.0.78 6.0.78 8.0.1 kidzpointz
jasmine-core 2.4.1 2.4.1 2.6.4 kidzpointz
protractor 4.0.14 4.0.14 5.1.2 kidzpointz
rxjs 5.0.1 5.0.1 5.4.1 kidzpointz
systemjs 0.19.40 0.19.40 0.20.14 kidzpointz
tslint 3.15.1 3.15.1 5.4.3 kidzpointz
typescript 2.4.0 2.4.0 2.3.4 kidzpointz
【问题讨论】:
-
在您的 NgModule 文件 (app.module.ts) 中,您仍然需要执行 import 语句来导入模块。
-
感谢您的评论。我错过了将它们添加到这篇文章中。它们已经导入。
-
你能解决这个问题吗?在 prod 版本中运行时我遇到了类似的问题
-
遗憾的是,我不得不解决这个问题,目前无法对其进行测试。检查下面的答案。如果您找到答案,请告诉我,以便我标记它。