【问题标题】:MEAN - Cannot find name 'Map' (when compiling server)MEAN - 找不到名称“地图”(编译服务器时)
【发布时间】:2017-07-29 13:51:29
【问题描述】:

我用 TypeScript 为我的 Angular 2 应用程序编写了一个服务器。

当我尝试编译它时 (tsc server.ts),我得到一个错误。我以前从未遇到过这个错误。我认为我没有添加任何新内容。据我所知,angular 2 和我的 server.ts 根本没有联系。我有点别无选择。我找到的所有答案都是关于在 angular 2 文件中添加一些东西。

错误信息:

node_modules/@angular/core/src/change_detection/differs/default_keyvalue_differ.d.ts(24,15): error TS2304: Cannot find name 'Map'.
node_modules/@angular/core/src/change_detection/differs/default_keyvalue_differ.d.ts(28,16): error TS2304: Cannot find name 'Map'.
node_modules/@angular/core/src/di/reflective_provider.d.ts(87,123): error TS2304: Cannot find name 'Map'.
node_modules/@angular/core/src/di/reflective_provider.d.ts(87,165): error TS2304: Cannot find name 'Map'.
node_modules/@angular/core/src/facade/lang.d.ts(12,17): error TS2304: Cannot find name 'Map'.
node_modules/@angular/core/src/facade/lang.d.ts(13,17): error TS2304: Cannot find name 'Set'.

我不知道展示什么是相关的,所以如果您不介意 - 请提出要求。

【问题讨论】:

    标签: angular express typescript


    【解决方案1】:

    你没有地图的打字稿定义文件,所以:

    npm install @types/core-js
    

    【讨论】:

    • 嗯..它以前工作过。当我运行该命令时,我遇到了一些新错误。我现在有重复的承诺。 “重复标识符‘Promise’。” /@types/es6-promise 和 /@types/core-js
    • @types/core-js 模块包含 ecmascript6 的所有 typescript 定义
    • 是的,promise 是在 @types/core-js 中定义的,所以删除它:npm uninstall @types/es6-promise
    • 成功了!但我不明白为什么它在过去一周有效。我没有添加任何新内容。而且你不可能回答。
    • hhh 我不知道,不要忘记将我的答案标记为解决方案;)
    猜你喜欢
    • 2019-02-27
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 2021-05-01
    相关资源
    最近更新 更多