首页 > 解决方案 > BASE_PATH 在 Angular 项目中扮演什么角色?

问题描述

为了将 Angular 生成的“Angular-Typescript-Client-Generated”文件集成到我的 Angular 项目中,我必须提供 Api 的路径(http://localhost:8080)。Swagger 生成的 README 文件说:

设置服务基路径

如果与生成的基本路径不同,则在应用程序引导期间,您可以提供服务的基本路径。

import { BASE_PATH } from '';

bootstrap(AppComponent, [
    { provide: BASE_PATH, useValue: 'https://your-web-service.com' },
]);

或者

import { BASE_PATH } from '';

@NgModule({
    imports: [],
    declarations: [ AppComponent ],
    providers: [ provide: BASE_PATH, useValue: 'https://your-web-service.com' ],
    bootstrap: [ AppComponent ]
})
export class AppModule {}
使用@angular/cli

src/environments/*.ts首先通过添加相应的基本路径来扩展您的文件:

export const environment = {
  production: false,
  API_BASE_PATH: 'http://127.0.0.1:8080'
};

在 src/app/app.module.ts 中:

import { BASE_PATH } from '';
import { environment } from '../environments/environment';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [ ],
  providers: [{ provide: BASE_PATH, useValue: environment.API_BASE_PATH }],
  bootstrap: [ AppComponent ]
})
export class AppModule { }

我尝试执行第二种方法“使用@angular/cli”,但不幸的是我不能使用

import { BASE_PATH } from '';

因为错误

Cannot find module''

发生。我真的不明白是谁在 ANGular 项目中提供了 BASE_PATH 。

您能否帮助我提供一些如何设置基本路径的想法或对提供基本路径的过程进行一些解释?

谢谢!

标签: angularrestapiswaggerbase-path

解决方案


在此处查看文档。BASE_PATH 应该在其中一个文件中声明

import { BASE_PATH } from '@swagger/angular2-typescript-petstore';

bootstrap(AppComponent, [
    { provide: BASE_PATH, useValue: 'https://your-web-service.com' },
]);

推荐阅读