Angular 从本地资产文件夹。要ng build--prod从Azure读取配置。与ng serve和ng serve--prod相同这是一个与此类似的问题,非常感谢!顺便说一句,上面的例子中有一个缺少的结束标记(?>)。来自:“如果文件是纯PHP代码,最好省略文件结
Angular 从本地资产文件夹。要ng build--prod从Azure读取配置。与ng serve和ng serve--prod相同这是一个与此类似的问题,非常感谢!顺便说一句,上面的例子中有一个缺少的结束标记(?>)。来自:“如果文件是纯PHP代码,最好省略文件结,angular,azure-web-app-service,azure-deployment-slots,Angular,Azure Web App Service,Azure Deployment Slots,从本地资产文件夹。要ng build--prod从Azure读取配置。与ng serve和ng serve--prod相同这是一个与此类似的问题,非常感谢!顺便说一句,上面的例子中有一个缺少的结束标记(?>)。来自:“如果文件是纯PHP代码,最好省略文件结尾的PHP结束标记”。顺便说一下,如果我的帖子有帮助,请接受它作为答案:)对不起,我不是php语言专家,我认为这是一个错误。我已经接受了答案,但由于我目前名声不好,有些事情不太管用。当我得到足够的,我一定会给它一个上升,以及非常感谢!顺便说一句
从本地
资产
文件夹。要ng build--prod
从Azure读取配置。与ng serve
和ng serve--prod
相同这是一个与此类似的问题,非常感谢!顺便说一句,上面的例子中有一个缺少的结束标记(?>)。来自:“如果文件是纯PHP代码,最好省略文件结尾的PHP结束标记”。顺便说一下,如果我的帖子有帮助,请接受它作为答案:)对不起,我不是php语言专家,我认为这是一个错误。我已经接受了答案,但由于我目前名声不好,有些事情不太管用。当我得到足够的,我一定会给它一个上升,以及非常感谢!顺便说一句,上面的例子中有一个缺少的结束标记(?>)。来自:“如果文件是纯PHP代码,最好省略文件结尾的PHP结束标记”。顺便说一下,如果我的帖子有帮助,请接受它作为答案:)对不起,我不是php语言专家,我认为这是一个错误。我已经接受了答案,但由于我目前名声不好,有些事情不太管用。当我得到足够的时候,我肯定也会给它一个提升
<?php
$appSettings = [];
foreach ($_SERVER as $key => $value) {
if(preg_match('/^APPSETTING_/', $key)) {
$appSettings[str_replace('APPSETTING_', '', $key)] = $value;
}
}
header('Content-Type: application/json');
echo json_encode($appSettings);
var http = require('http');
var server = http.createServer(function (request, response) {
response.writeHead(200, { "Content-Type": "application/json" });
var result = {};
result.someAppSetting = process.env.SomeApplicationSetting;
var jsonResult = JSON.stringify(result);
response.end(jsonResult);
});
var port = process.env.PORT || 1337;
server.listen(port);
console.log("Server exposing api for reading application settings running at http://localhost:%d", port);
"assets": [
"src/favicon.ico",
"src/assets",
"src/web.config",
"src/index.js"
],
<rule name="Read app settings" stopProcessing="true">
<match url="app-settings" />
<action type="Rewrite" url="index.js"/>
</rule>
$appSettings = [];
foreach ($_SERVER as $key => $value) {
if(preg_match('/^APPSETTING_/', $key)) {
$appSettings[str_replace('APPSETTING_', '', $key)] = $value;
}
}
header('Content-Type: application/json');
echo json_encode($appSettings, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
"assets": [
"src/favicon.ico",
"src/assets",
"src/appSettings.php"
],
`assets/config/backend.json`;
import { Injectable } from '@angular/core';
import { HttpClient, HttpBackend } from '@angular/common/http';
import { AppSettings } from './models/AppSettings.model';
import { environment } from 'src/environments/environment';
@Injectable()
export class AppConfig {
static appSettings: AppSettings;
private http: HttpClient;
constructor( handler: HttpBackend) {
this.http = new HttpClient(handler);
}
public load() {
let backendConfigUrl: string;
if (environment.production) {
backendConfigUrl = window.location.origin + '/appsettings.php';
} else {
backendConfigUrl = `assets/config/backend.json`;
}
console.log(backendConfigUrl);
return new Promise<void>((resolve, reject) => {
this.http.get<AppSettings>(backendConfigUrl).toPromise().then((response: AppSettings) => {
AppConfig.appSettings = response;
resolve();
}).catch((response: any) => {
reject(`Could not load file ${backendConfigUrl}: ${JSON.stringify(response)}`);
});
});
}
}
export function initializeApp(appConfig: AppConfig) {
return () => appConfig.load().then(() => {
console.log(AppConfig.appSettings)
});
}
providers: [
AppConfig,
{
provide: APP_INITIALIZER,
useFactory: initializeApp,
deps: [AppConfig],
multi: true
},
]