我需要阅读 - 在Angular服务类(TypeScript)中 - 一个配置文件,其中包含我使用的数据的Web服务的基本URL。
这只是一个带有HttpClient的Ajax调用,但我是角色的新手。
我从 Node.js 服务器提供我的应用程序。
此baseUrl发生了变化,这就是它需要配置的原因。实际上,我还想检查是否可以将基本Url定义为启动参数。
答案 0 :(得分:1)
创建一个名为app.config.ts
的文件 - 名称可由您决定,如下所示:
export interface ApplicationConfig {
apiURL: string;
}
export const CONFIG: ApplicationConfig = {
apiURL: 'url to your server';
};
在您的服务中,导入该文件并按如下方式使用:
import { CONFIG } from '../config/app.config';
@Injectable()
export class Service {
private baseURL: string = CONFIG.apiURL;
constructor(private http: Http){}
public getSomething():Observable<any> {
let url:string = this.baseUrl + 'endpoint url after the base url';
return this.http.get(url).map((res:Response) => res.json());
}
}
答案 1 :(得分:0)
您可以创建一个基本文件来导出您的端点,例如您的base.ts应该是这样的:
export const baseUrl = 'http://yourendpoint.com';
然后在您的组件或服务中,您可以像以下一样使用它:
import {baseUrl} from './base'; //path to base.ts
...
console.log(baseUrl);//http://yourendpoint.com
答案 2 :(得分:-1)
我想说最简单的例子就是做以下事情:
//Declaring your config
var myServices = angular.module('some.module', ['ngResource']);
var myConfingurationService = angular.module('some.module', []);
myConfingurationService .constant('CONFIG', {
BASE_URL: '/bin/restproxy'
});
//Using your configured parameter
myServiceFactory.factory('myServices', ['invHttp', 'CONFIG', function (invHttp, CONFIG) {
var completeURL = CONFIG.BASE_URL + '/some/other/stuff';
}
答案 3 :(得分:-2)
您可以在角度网站上阅读非常全面的教程。在这里,您可以了解所需的所有基础知识:https://angular.io/tutorial/toh-pt6