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
    },
  ]