我正在尝试将Angular 5.2应用程序更新为Angular 6.我成功地遵循了Angular更新指南中的说明(包括更新angular-cli到v6),现在我正在尝试通过
ng serve --env=local
Run Code Online (Sandbox Code Playgroud)
但这给了我错误:
未知选项:' - env'
我使用多个环境(dev/local/prod),这就是它在Angular 5.2中的工作方式.如何在Angular 6中设置环境?
我想导入一个资产文件夹中的Json文件,其中我具有以下URL:
config.json:
{
"url1": "https://jsonplaceholder.typicode.com/posts",
"url2" : "https://reqres.in/api/users",
"url3":"https://fakerestapi.azurewebsites.net/api/Authors"
}
Run Code Online (Sandbox Code Playgroud)
因此,我想对Json文件进行导入,而不是对URL进行硬编码,但是我不确定如何确切地做到这一点。
任何建议或方案,将不胜感激,以下是我的问题:
1.如何environment.ts 从那里导入Json文件,我将有一个使用api的服务
2.如果导入文件,则prod和loc dev也必须相同
我想要的是:
我有一个配置文件,其中现在包含.json存储在资产文件夹中的文件中包含一些URL的URL,而不是加载environments.prod或.ts,我要加载我的Json文件配置并基于要运行我的应用程序
我做了什么:
以下是我放在资产文件夹中的Json文件
{
"baseUrl": "https://jsonplaceholder.typicode.com/",
"baseUrl2": "https://reqres.in/api/users"
}
Run Code Online (Sandbox Code Playgroud)
ConfigServiceService.ts 用于存储配置文件
public _config: Object;
constructor(public http:Http) { }
getData(){
debugger;
return this.http.get("./assets/config.json").pipe(map(res => res.json()));
}
Run Code Online (Sandbox Code Playgroud)
之后,我创建一个 ServiceProviderService.ts来调用服务文件
configData:any;
constructor(public http:Http,public config:ConfigServiceService) {
}
jsonData(){
debugger;
return this.configData;
}
ngOnInit(){
debugger;
this.config.getData().subscribe(res =>{
console.log(res);
this.configData = res;
});
}
Run Code Online (Sandbox Code Playgroud)
app.component.ts
title = …Run Code Online (Sandbox Code Playgroud)