Angular中文博客

分享让你更聪明

Angular报错No provider for _HttpClient!怎么解决?

浏览:99次 评论:0次 日期:2024年11月25日 21:50:41 作者:管理员

今天上班的时候有个朋友给我发过来一段Angular的报错信息,具体如下:

ERROR NullInjectorError: R3InjectorError(Environment Injector)[_HttpClient -> _HttpClient]: 
NullInjectorError: No provider for _HttpClient!
    at NullInjector.get (core.mjs:1644:21)
    at R3Injector.get (core.mjs:2169:27)
    at R3Injector.get (core.mjs:2169:27)
    at ChainedInjector.get (core.mjs:4704:32)
    at lookupTokenUsingModuleInjector (core.mjs:5047:31)
    at getOrCreateInjectable (core.mjs:5093:10)
    at Module.ɵɵdirectiveInject (core.mjs:12591:17)
    at NodeInjectorFactory.IndexComponent_Factory [as factory]

出现这个问题的起因是,他创建了一个新的项目,在组件中使用HttpClient请求接口。

其实解决这个问题很容易,找到src/app下面的app.config.ts文件:

import {ApplicationConfig, provideZoneChangeDetection} from '@angular/core';
import {provideRouter} from '@angular/router'; // 这个是新加的代码

import {routes} from './app.routes';
import {provideHttpClient} from '@angular/common/http';

export const appConfig: ApplicationConfig = {
    providers: [
        provideZoneChangeDetection({eventCoalescing: true}),
        provideRouter(routes),
        provideHttpClient() // 这个是新加的代码
    ]
};

小小代码,拿捏^_^

发表评论