【问题标题】:Javascript: Is there a way to automatic change localhost to the ip address when go liveJavascript:有没有办法在上线时自动将localhost更改为IP地址
【发布时间】:2025-12-14 15:40:01
【问题描述】:

我有一个完全是客户端的网站。当它在测试环境中时,我将 localhost 用于其他服务的所有链接:数据库、报表生成器等。

当网站部署到 apache2 时,为了上线,我必须手动将这些链接更改为服务器的 IP 地址。

代码中有什么方法可以避免这样做吗?或者,是在部署阶段自动更改它们的唯一方法(例如 grunt)吗?

【问题讨论】:

  • 我认为这属于网站管理员?如果你使用相对链接,你应该有更少的问题

标签: javascript deployment web-deployment


【解决方案1】:

您可以检查 window.location 对象并在主机名周围放置一些条件逻辑,例如if (window.location.hostname == 'localhost') {}.

虽然混合环境特定/测试时代码通常是一种气味。您对这是一个构建/部署时间活动的预感可能是正确的方法。 gulp-inject 插件值得考虑。

【讨论】:

    【解决方案2】:

    我会怎么做。 (nginx)

    1. 从服务器运行我的应用程序(您可以通过服务器上的 localhost 访问它)
    2. 只要有请求到达服务器,就使用 nginx 为 localhost 应用程序提供服务。

    你可以对 apache2 做同样的事情:

    我正要写怎么做,但这个网站说明了一切:http://subinsb.com/linux-apache-localhost

    【讨论】: