在Angular 7中,在Promise中抛出错误“StaticInjectorError(AppModule)[BASE_URL]”通常是由于依赖注入配置错误造成的。以下是一些可能的解决方法:
确保已正确配置依赖注入(DI)提供器:
import { NgModule } from '@angular/core';
import { BASE_URL } from './your-path-to-BASE_URL';
@NgModule({
...
providers: [
{ provide: BASE_URL, useValue: 'your-base-url-here' },
...
],
...
})
export class AppModule { }
如果使用了环境变量,请确保它们已正确配置:
export const environment = {
production: false,
BASE_URL: 'your-base-url-here'
};
import { NgModule } from '@angular/core';
import { environment } from '../environments/environment';
@NgModule({
...
providers: [
{ provide: BASE_URL, useValue: environment.BASE_URL },
...
],
...
})
export class AppModule { }
确保您导入的BASE_URL的路径是正确的。检查路径是否正确拼写,并确保导入的文件中有BASE_URL的正确实现。
如果使用了懒加载模块,请确保在懒加载模块的providers数组中添加了相应的提供器。例如:
import { NgModule } from '@angular/core';
import { BASE_URL } from './your-path-to-BASE_URL';
@NgModule({
...
providers: [
{ provide: BASE_URL, useValue: 'your-base-url-here' },
...
],
...
})
export class LazyModule { }
这些解决方法应该能够解决“StaticInjectorError(AppModule)[BASE_URL]”错误。如果问题仍然存在,请确保您的代码没有其他依赖注入配置错误,并且您的应用程序的所有模块都已正确配置。