如何从Angular中删除硬编码的获取URL?

时间:2019-10-09 06:41:07

标签: angular8

我正在使用rest api来获取数据。为此,我给出了硬编码的URL。如何删除这个?

这是service.ts:-

getAllEmployees(): Observable<Employee[]>{
        return this._httpService.get("http://localhost:8080/EmpProject/getAllEmployees")
        .map((response: Response) => response.json())
        .catch(this.handleError);
    }

我要删除此http://localhost:8080硬编码值。

2 个答案:

答案 0 :(得分:0)

您需要使用环境。

https://angular.io/guide/build

答案 1 :(得分:0)

您可以为此使用环境文件。 对于开发环境,将您的URL添加到文件environment.ts中。您可以在src > environments中找到它。

export const environment = {
  production: false,
  baseUrl: 'http://localhost:8080' 
};

您可以像这样使用它

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


@Injectable()
export class MyService {  
  
  constructor(private httpClient: HttpClient) { }

  getData(id: number) {
    let url = environment.baseUrl + '/datas/1';
    return this.httpClient.get<JSON>(url);
  }
}

对于生产环境来说也是一样,但是您需要更改文件environment.prod.ts