【问题标题】:angular-in-memory-web-api: ctorParameters.map is not a functionangular-in-memory-web-api:ctorParameters.map 不是函数
【发布时间】:2016-12-12 19:17:00
【问题描述】:

我正在使用 Angular2 In-Memrory API 的 0.1.17 以及 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)
  ],

【问题讨论】:

    标签: javascript angular


    【解决方案1】:

    看来,您的版本不匹配。您使用的角度版本希望 ctorParameters 是一个数组。但是在 InMemoryWebApiModule v0.1.17 中提供了一个功能。升级到 v0.2.0。在这个版本中提供了一个数组。

    【讨论】:

    • 谢谢。我没有尝试您的解决方案,但显然升级到 in-memory-web-api 模块的最新版本 (0.2.0) 解决了我的问题。
    【解决方案2】:

    这个错误似乎与某些包有关,该包期望 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 无关,但我希望这有助于调试它

    【讨论】:

      【解决方案3】:

      当您在模板== 而不是= 在参数分配中输入错误的符号时,将引发此错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-19
        • 1970-01-01
        • 2018-08-27
        • 2017-03-02
        • 2018-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多