首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

angular 12更新:模块'"@angular/common"‘没有导出的成员'XhrFactory’

Angular 12更新: 模块'"@angular/common"'没有导出的成员'XhrFactory'

在Angular 12中,出现了模块'"@angular/common"'没有导出的成员'XhrFactory'的错误。这个错误通常是由于Angular版本升级或者依赖包版本不匹配引起的。

解决这个问题的方法是更新相关的依赖包或者修改代码。

首先,确保你的Angular版本是最新的。可以通过运行以下命令来更新Angular CLI和相关依赖包:

代码语言:txt
复制
npm install -g @angular/cli

然后,进入你的项目目录,并运行以下命令来更新项目的依赖包:

代码语言:txt
复制
npm update

如果更新依赖包后仍然出现错误,可以尝试手动修改代码。

在Angular 12中,'XhrFactory'已经被移除,取而代之的是'HttpClient'。因此,你需要修改相关代码,将'XhrFactory'替换为'HttpClient'。

例如,如果你的代码中有类似以下的代码:

代码语言:txt
复制
import { XhrFactory } from '@angular/common';

// ...

@Injectable()
export class MyXhrFactory implements XhrFactory {
  // ...
}

你需要将其修改为:

代码语言:txt
复制
import { HttpClient } from '@angular/common/http';

// ...

@Injectable()
export class MyHttpClient {
  constructor(private http: HttpClient) {
    // ...
  }
}

这样就可以解决模块'"@angular/common"'没有导出的成员'XhrFactory'的错误。

关于Angular的更多信息和使用方法,你可以参考腾讯云的Angular产品文档:

腾讯云Angular产品文档

希望这个回答能够帮助到你!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

移除 View Engine 转用 Ivy,盘点Angular 12重要更新

Angular 12 版本最大亮点就是淘汰掉了旧 View Engine 编译与渲染管道,转而采用更为现代 Ivy 技术。...其它更新亮点 除了移除 View Engine,Angular 12 发行版中还包括其他新功能与重要改进: 为了提高编译器 CLI 性能,若存在重新定向源文件,新版本允许进行增量编译。...在更新Angular 12 之后,应用会通过 ng update 进行更新并自动切换为新 API。 提供相关工具,可使用最新算法将旧版本地化 ID 迁移为新 ID。...默认情况下,CLI 将启用严格模式以捕捉开发早期各种错误。 Webpack 5 模块捆绑器现已实现生产就绪。 不再支持 IE11 浏览器。 对于编译器,新版本提供转换组件样式资源支持能力。...新版本可导出 HTTP 状态码列表。 向 Angular 语言服务添加一项功能,允许用户直接访问使用模板文件组件实际位置。

4.4K10
  • Angular5.0.0新特性

    5.0版本中,Angular开发团队添加了ServerTransferStateModule(与之对应BrowserTransferStateModule),这个模块允许你在服务端生成模块信息并传输到客户端...V4 V5之间管道差异对比 https://docs.google.com/spreadsheets/d/12iygt-_cakNP1VO7MV9g4lq9NsxVWG4tSfc98HpHb0k/edit...} ); 7.exportAs多命名支持   5.0中提供了组件/指令多命名支持,在对用户不修改代码情况下进行组件迁移操作等非常有用,将一个组件导出多个名字,可以让组件已一个新名字来使用而达到不破坏现有代码目的...8.HttpClient   在4.3中HttpClient模块被封装在@angular/common中,新HttpClient被封装在@angular/common/http中,更新Http模块后...同时也更新了.tsconfig将更严格遵循TypeScript标准, 10.Angular Forms adds updateOn Blur / Submit   可以使用blur/submit来进行事件更新

    1.7K10

    Angular 路由配置(预加载配置,懒加载配置)

    NgModule作为Angular模块核心,下面首先就来讲一讲。 1....forRoot()//在主模块中定义主要路由信息 forChild()``//应用在特性模块(子模块)中 (2)懒加载:loadChildren 此处并没有将对应模块加入到AppModule中,而是通过...loadChildren属性,告诉Angular路由依据loadChildren属性配置路径去加载对应模块。...loadChildren属性值由三部分组成: 需要导入Module相对路径 #分隔符 导出模块名称 (3)预加载 在使用懒加载情况下,路由第一次加载某个模块时,有时反应有延迟。...Angular提供了两种加载策略, PreloadAllModules-预加载 NoPreloading-没有预加载(默认)。

    3.2K30

    ionic3升级适配angular5

    昨天angular5和ionic3同时发布更新了,为了用上angular5新特性,还是有必要踩下坑,当然踩坑白老鼠建议选用一个最近不用维护项目。...angular5最新beta版 在ionic3官网建议是更新依赖到angular5.0.0版本,而根据上述说明,优先选择做了做了bug修复angular5.0.1版。...项目升级过程还是比较平缓,对于大多数项目,主要应对是Http模块、Router还有管道变更。...在本项目中,因为没有用到那几个内置管道,也没有用到路由,所以主要是调整Http模块: 在4.x中HttpClient模块被封装在@angular/common中,新HttpClient被封装在@angular.../common/http中,更新Http模块后,需要使用HttpClientModule替换原有HttpModule,并在使用http服务时,可以去掉map(res=>res.json())调用,因为新模块中已经不再需要了

    2.5K40

    Angular 从入坑到挖坑 - HTTP 请求概览

    在使用之前,首先需要在应用模块中,引入 HttpClientModule 模块,并添加到 imports 数组中 import { BrowserModule } from '@angular/platform-browser.../app.component'; // 添加对于 HttpClientModule 模块引用 import { HttpClientModule } from '@angular/common/http...在执行服务中方法时,有时会存在没有回调函数情况,此时也必须执行 subscribe 方法,否则服务中 HTTP 请求是没有真正发起 服务中 getAntiMotivationalQuotes...,我们需要添加到根模块 providers 中,因为可能会存在定义多个拦截器情况,这里可以通过定义一个 typescript 文件用来导出我们需要添加拦截器信息 因为会存在定义多个拦截器情况,所以这里需要指定...,在发送请求时会按照我们添加顺序进行执行,而在接受到请求响应时,则是按照反过来顺序进行执行 获取到导出拦截器信息,就可以在根模块中去导入需要注册拦截器 import { BrowserModule

    5.3K10

    Angular 6正式版发布,都有哪些新功能

    除此之外,这次更新还包括框架包(@angular/core、@angular/common、@angular/compiler 等)、Angular CLI、Angular Material + CDK...Angular更新了徽章(badge)和底部菜单栏组件,徽章用于显示小而有用信息,例如未读信息数量。...Shakable Providers 为了让你应用更小,我们将服务引用模块改为模块引用服务,这让我们只需要构建在模块里注入服务。...每个主版本支持时间是18个月,其中,前6个月是积极开发阶段,接下 12 个月是错误修正和安全补丁阶段。...更新通常遵循 3 个步骤,请使用新 ng update 工具: 更新 @ angular / cli; 更新 Angular 框架包; 更新其他依赖包。

    4.2K20

    第218天:Angular---模块和控制器

    /angular.js"> 9 10 // 注册模块 通过module函数, 11 // 第一个参数是这个模块名字 12 // !!!...第二个参数是这个模块所依赖模块, 如果不依赖任何模块也必须传递第二个参数,如果没有传递第二个参数,angular.module就不是创建一个模块 13 // angular.module 返回.../angular.js"> 3 4 // 由于控制器是必须出现在某个模块,想创建一个控制器必须先创建模块 5 var module =...angular.module('myModule', []); // 返回就是模块对象 6 7 // angular在执行控制器函数时, 8 // 会根据参数名字($scope...(数组成员最后一个就是原本控制器函数,前面的成员都是需要注入对象名称) 15 module.controller('HelloController', ['$scope','$http',

    68120

    Angular进阶教程2-

    Angular在启动程序时会启动一个根模块,并加载它所依赖其他模块,此时会生成一个全局根注入器,由该注入器创建依赖注入对象在整个应用程序级别可见,并共享一个实例。...所以说在Angular中并没有模块级别的区域,只有组件级别和应用级别的区域。模块级别的注入就相当于是应用级别。...,Angular会对延迟加载模块初始化一个新执行上下文,并创建一个新注入器,在该注入器中注入依赖只在该模块内部可见,这算是一个特殊模块级作用域。...Angular 给应用提供了一个 HTTP 客户端 API,也就是 @angular/common/http\color{#0abb3c}{@angular/common/http}@angular/common...这和function执行多次,互相没有关联是一致

    4.1K30

    angular基础面试题_java web面试题

    @NgModule({ imports: [ BrowserModule ],导入表) —— 那些导出了本模块组件模板所需其它模块 providers: [ Logger...exports: [ AppComponent ], 导出表 那些能在其它模块组件模板中使用可声明对象子集。...如果此次digest循环有更新,那么会再次触发digest循环,直到所有的watch都没有更新为止。 使用Angular 2,和使用Angular 1相比,有什么优势?...Angular 2是一个平台,不仅是一种语言 更好速度和性能 更简单依赖注入 模块化,跨平台 具备ES6和Typescript好处。...灵活路由,具备延迟加载功能 更容易学习 angular1是全局监听,变量越多性能越差,angular2采用模块化监听,提升了性能 在Angular 2应用中,我们应该注意哪些安全威胁?

    13K50
    领券