5

我正在开发一个项目,我需要将项目名称从 localhost:9000 更改为 someothername:9000,这是在我的开发环境中,而不是在生产环境中。

我得到了项目文件,而那个人(不再在这里)使用了 express.js。我已经搜索并搜索了这个问题的答案,但我无法弄清楚。

那么,是否可以使用 express.js 或更新 gruntfile 将 localhost:9000 的名称更改为 someothername:9000 ?我知道我可以更改计算机上的 localhost 设置,但我需要有一个通过 Web 应用程序出现的别名。

我准备把头发扯掉。:(

4

2 回答 2

12

当您在开发环境中时,足以添加

127.0.0.1  testurl.test

在底部

C:\Windows\System32\drivers\etc\hosts

现在要将服务器的端口设置为 80(http 的标准端口),您需要更改

project\bin\www

(ejs 标准第 15 行)

var port = normalizePort(process.env.PORT || '3000');

var port = normalizePort(process.env.PORT || '80');

现在,如果您在浏览器中键入 testurl.test,它应该会显示您的网站。

这适用于 Windows,如果您有 mac 或 linux,只需根据需要更改主机文件。

马吕斯

于 2015-11-12T21:43:33.070 回答
9

您无法从 express 中更改它。域名由浏览器使用 OS 系统和 DNS 服务解析。您的快速申请无法解决此问题。在与您的快速应用程序建立任何连接之前,浏览器会解析它。

您可以编辑本地计算机上的主机文件,以将其他名称定义为 localhost 的别名。您编辑主机文件的准确程度取决于您正在运行的操作系统,因为这是特定于操作系统的功能。


回顾一下,这是您在浏览器中请求网页时的正常步骤。

  1. 用户在浏览器中请求特定的 URL。
  2. 浏览器从 URL 中解析出域,并使用主机操作系统上基于 TCP 的本地服务请求对该域的 DNS 查找。
  3. 主机操作系统查看请求的域以查看它是否是它识别的主机名或具有缓存条目。
  4. 如果它确实识别出主机名或有一个缓存条目,则对应于该主机名的 IP 地址将返回给浏览器。
  5. 如果它无法识别主机名,则本地计算机联系 DNS 服务器以查找 IP 地址并将该 IP 地址返回给浏览器。
  6. 一旦浏览器获得 IP 地址,它就会在所需端口号上与该 IP 地址建立 TCP 连接。
  7. 如果 IP 地址与您的 Express 服务器相对应,那么这是您的 Express 服务器第一次参与该过程。
于 2015-11-12T21:41:30.007 回答