我使用0.1.17的Angular2 In-Memrory API以及Angular CLI(使用Webpack)。我按照HTTP tutorial逐字记录了所有步骤,我收到了以下错误:
reflection_capabilities.js:58 Uncaught TypeError: ctorParameters.map is not a function
at ReflectionCapabilities.parameters (http://localhost:4200/main.bundle.js:48626:45)
这是我的app.module.js导入:
imports: [
BrowserModule,
FormsModule,
HttpModule,
AppRoutingModule,
SharedModule,
CoreModule,
// Fake API -- remove for production
InMemoryWebApiModule.forRoot(InMemoryDataService)
],
答案 0 :(得分:4)
似乎您的版本不匹配。您正在使用的角度版本希望ctorParameters是一个数组。但是在InMemoryWebApiModule v0.1.17中提供了一个功能。升级到v0.2.0。在这个版本中提供了一个数组。
答案 1 :(得分:0)
如果在参数分配中在模板==
而非=
中放入了错误的符号,则会引发此错误。
答案 2 :(得分:0)
这个bug似乎与某些软件包相关联,期望Angular核心版本与实际安装的版本不同。
通过查看ng build
的错误报告,我能够找出问题的原因:
npm WARN @angular/platform-server@2.4.4 requires a peer of @angular/core@2.4.4 but none was installed.
这让我意识到我的一个软件包期望Angular处于v2.4.4,但我使用的是v2.0.1。我更新了我的package.json,将这两个软件包设置为我的核心版本,如下所示:
"dependencies": {
"@angular/core": "2.0.1",
"@angular/platform-server": "2.0.1",
}
你的问题可能不是@ angular / platform-server,但我希望这有助于调试它