【问题标题】:Deploying my Web Application without changing Paths在不更改路径的情况下部署我的 Web 应用程序
【发布时间】:2016-03-14 12:43:25
【问题描述】:

在我目前正在开发的 Web 应用程序中,我的后端有一个 ASP.NET Web API 项目,我的前端有另一个项目 (AngularJS)。我的后端在 localhost:1337 上运行,而我的前端在 localhost:1338 上运行。这工作得很好,但我在将它部署到我的网络服务器时遇到了麻烦。

在我的前端,我声明了基础localhost:1337,但这在服务器上不起作用(我理解)。我需要在部署之前更改路径,所以我的前端调用服务器上的 API。

我的问题是:有什么办法可以改变这些部分吗?每次我提交某些内容时将后端部署到服务器上,然后直接从前端的服务器调用它会更好吗?

编辑:

关于我如何做的更多信息: 在 Visual Studio 中,我将项目属性中的本地项目 URL 设置为那些特定的 url。为了进行这些调用,在我的 javascript 中的某处,我有一个像 var BaseUrl = "localhost:1337"; 这样的 BaseUrl,并且我正在使用这个“硬编码”URL 向我的 API 发出所有 HttpRequest。例如,每次部署时都必须更改此 url。

我如何部署:右键单击 VS 中的项目 -> 发布,然后我有两个项目的特定配置文件。它们都已正确部署到服务器。

【问题讨论】:

  • 请说明您是如何“声明基本 localhos:1337”的,以及您在部署站点时采取了哪些步骤。没有这些信息,就不可能帮助您。
  • 好的,我会编辑一下,等一下

标签: asp.net angularjs asp.net-web-api


【解决方案1】:

有很多可能的解决方案:

  • 根据解决方案配置部署不同的文件(例如,如果您使用捆绑包,则可以使用变量在不同的捆绑包中包含不同的脚本)
  • 拦截对 .js 文件的请求并使用一些配置文件即时修改它。这种情况的一个变体是为您提供来自 MVC 操作或 .aspx.asmx 的 .js 文件。您的浏览器根本不需要 .js 扩展。
  • 使用构建后脚本修改 .js 文件

由于您没有提供更具体的信息,我只是展示了一些可能的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-11
    • 2021-11-15
    • 2013-07-16
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    相关资源
    最近更新 更多