AngularJS应用程序的配置文件,其中存储服务的BaseURL

Configuration file for AngularJS app where store the BaseURL for the services

本文关键字:存储 服务 BaseURL 应用程序 配置文件 AngularJS      更新时间:2023-09-26

我正在做一个以这种方式发布的项目

  • 托管在服务器 1 上的 WebAPI 应用程序
  • 托管在Server2上的AngularJS应用程序,用于调用Server1上的API

在 AngularJS 应用程序上,我有一个用于常见函数的 javascript 原型,其中一个构建了在服务器 1 上调用 API 的基本 url(因此,它返回即 https:''server1''api)

现在 URL 地址"server1''api"是硬编码的(我知道...我乞求你怜悯)在一个变量上,但我需要的是:

1)使用文件进行配置(我认为将所有配置放在单个JSon文件并在应用程序启动时加载它应该很好)

2)能够在AngularApp的Visual Studio发布过程中配置Server1上的哪个配置副本(类似于web.config转换)

第一点并不难,但是如何在第二点上创建这种转换,并在发布过程中自动选择正确的 Json 文件?

谢谢

您可以从角度侧使用角度常数,并在需要的地方注入该常数

//define your const
angular.module('MyModule').constant('serverUrl', 'VALUE');
//use your const via DI
angular.module('MyModule').factory('factoryName', function('serverUrl'){});

但在您的视图中设置该代码(假设 Razor

angular.module('MyModule').constant('serverUrl', '@(ViewBag.ServerUrl)');

您可以从 web.config 中提取该数据,这些数据可以在生成或发布过程中通过转换进行转换。

这是一种奇怪的到达那里的方式,但它应该对你有用。