是否可以动态重新加载项目的配置?
现在配置文件被NPM构建缩小,编辑缩小的文件并不容易。
我的配置位于appConfig.js
,其中包含以下代码:
const appConf = {
BASE_URL: 'http://demo:1817',
API_BASE_URL: 'http://demo:1817/api'
};
export default appConf;
在我的index.js
中有代码如下:
import appConf from "./appConf";
angular.module('app', [])
.constant('appConf', appConf)
.run(function(){
//do something
});
在我的服务中,我使用如下配置:
$http.get(appConf.API_BASE_URL + "/something").then(resp => {
//do someelse
});
我想使用新的API编辑appConfig.js
而不运行NPM版本。
我想这样做,因为在演示环境中,URL会经常更改。
答案 0 :(得分:0)
非常困难,并且不建议编辑angular2中的最小化文件。 获取基本URL并使用它而不是保存配置。请尝试以下任何一种方式。 对于Angular2,下面是代码
在服务中添加以下方法
hostUrl() {
var hostName = window.location.origin;
return hostName + '/';
}
在ts文件中使用如下
this.http.get(this.service.hostUrl() + "/something" {
//do someelse
});
或
import {LocationStrategy } from '@angular/common';
constructor(private locationStrategy:LocationStrategy) {
let currentUrl = this.locationStrategy.path();
currentUrl = currentUrl.substring(0, currentUrl.indexOf('?'));
console.log('currentUrl '+currentUrl);
this.http.get(currentUrl + "/something" {
//do someelse
});
}