【发布时间】:2016-05-03 20:46:15
【问题描述】:
我正在创建一个调用我们托管的 WCF 服务的网站。请注意,URL 是 JS 中的硬编码:
var config = {
url: 'http://serverName:8000/MmaWebApiService/CreateCassette',
method: 'POST',
contentType: 'application/json; charset=utf-8',
data: { 'moduleSerialNumbers': 'dataHere' }
};
我们应该在哪里存储 URL?我认为 web.config 文件会是一个好地方,但我不知道如何访问它。 One suggestion 是这样的:
<img id="ImgHeader" runat="server" src="<%$ ConfigurationSettings.AppSettings["ImagePath"] %>" />
但是,我认为这不适用于使用 AngularJS 的普通 HTML 页面。我对在哪里存储服务 URL 有点茫然,所以我没有在我的 JS 中对它们进行硬编码。例如,如果我们部署到不同的服务器上,我不想在 JS 中查找所有调用并替换服务器名称。我一定错过了一个最佳实践。
【问题讨论】:
-
这一切都取决于。您可以使用您之前提到的方法。在我的公司,我们使用服务器提供的各种 URL 在主布局中填充一个对象。 You can read from Web.config using
ConfigurationManager.AppSettings. -
您可以将它们放在一个 .js 文件中并将脚本包含在标题中。在单页应用程序中,我通常将它们存储在 .json 文件中,并在需要时通过 ajax 调用加载它。
-
Mike:我不认为我可以在 JS 中使用 ConfigurationManager。杰西:很好的提示。我可以试试。谢谢!
-
你在使用像 gulp 或 grunt 这样的 javascript 任务运行器吗?如果是这样,您可以走
app.constant(...)的路线,然后让您的任务运行者根据您是否运行来确定要做什么,例如gulp dev或gulp prod -
这是基于意见而关闭的事实是荒谬的。有人需要知道如何做某事,但它会被关闭,因为其他人可能有不同的意见。令人沮丧。
标签: javascript angularjs wcf