【问题标题】:Error in Angular 5 Project - "An implementation cannot be declared in ambient contexts"Angular 5 项目中的错误 - “无法在环境上下文中声明实现”
【发布时间】:2019-04-16 21:35:44
【问题描述】:

我在我的 Angular 5 项目中使用 observable 对象 - 直到大约一周前它运行良好,现在突然出现以下错误:

node_modules/rxjs/Observable.d.ts(20,31) 中的错误:错误 TS1183:无法在环境上下文中声明实现。

我是 Angular 的新手,所以任何帮助都将不胜感激。谢谢!

【问题讨论】:

  • @RagavanRajan 我不认为这是重复的,因为错误 get 是由 rxJS 抛出的,并且这个文件是一个声明文件。
  • @chr15r 请告诉我们一些上下文。您是如何导入Observable 以及如何使用它的?
  • 相同错误:node_modules/rxjs/internal/Observable.d.ts(14,29) 中的错误:错误 TS1183:无法在环境上下文中声明实现。整个 Observable.d.ts 文件为: export * from 'rxjs-compat/Observer';这在 Visual Studio 代码中给出了这个错误:[ts] 找不到模块 'rxjs-compat/Observer'。,这是一个全新的项目,昨天刚刚拉下全新的 NODE.js V8.11.2。 NPN - V -5.6.0

标签: angular typescript


【解决方案1】:

在 Angular 6 中,我的 Observables 工作,但是“ng build --prod”给出了 TS1183 错误。 我的解决方案是:

npm install rxjs

【讨论】:

    【解决方案2】:

    我尝试使用以下命令重新安装“rxjs”:

    npm install rxjs
    

    这并没有解决我的问题。

    唯一对我有用的是:

    用新的替换 node_module 文件夹

    您可以从新项目中获取它,甚至可以通过执行删除并重新创建它:

    npm install
    

    注意:我建议从新创建的项目中获取它,由于某种原因,此命令有时不起作用。

    【讨论】:

      【解决方案3】:

      npm install typescript@'>=2.7.0

      【讨论】:

      • 更新 typeScript 版本会导致新的错误错误 Angular 编译器需要 TypeScript >=3.1.1 和
      【解决方案4】:

      对我来说,问题是我的旧 angular-cli 版本:

      • npm 卸载 -g angular-cli
      • npm cache clean / npm cache verify npm
      • install -g @angular /cli@latest npm install

        这个是更新你本地项目的版本:

      • rm -rf 节点模块

      • npm 卸载 --save-dev @angular/cli@latest
      • npm 安装

      您可能还需要安装 rxjs-compat(以使您的旧代码正常工作)。新的 RxJS 6 有点不同。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-23
        • 1970-01-01
        • 2020-05-24
        • 2020-08-16
        • 2021-07-09
        • 1970-01-01
        • 2020-07-29
        相关资源
        最近更新 更多