【问题标题】:Configuration file for AngularJS app where store the BaseURL for the servicesAngularJS 应用程序的配置文件,其中存储服务的 BaseURL
【发布时间】:2014-04-08 18:38:06
【问题描述】:

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

  • Server1 上托管的 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文件?

谢谢

【问题讨论】:

标签: javascript angularjs visual-studio-2013 publish configuration-files


【解决方案1】:

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

//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 中提取该数据,这些数据可以在您的构建或发布过程中通过转换进行转换。

到达那里的方式很奇怪,但它应该适合你。

【讨论】:

  • 谢谢 Brocco,但这个解决方案只有在 AngularJs 与 MVC“结合”时才能正常工作。但是我的 AngularApp 与 MVC 无关:我没有将 Razor 用于 Angular 应用程序。我只有一堆 HTML 页面。
  • 不管怎样,我过去曾使用这种方法让 JQuery 与一些服务器端变量一起工作,而且效果很好! :)
  • 明白了,刚拍了一张你标记为 VS 2013 的传单。我会考虑一下,如果我有其他东西给你,我会回来的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-12
  • 2019-10-27
  • 1970-01-01
  • 2021-11-06
  • 1970-01-01
  • 2018-12-19
  • 2016-04-06
相关资源
最近更新 更多