从虚拟机访问主机变量

时间:2019-05-02 08:26:25

标签: reactjs npm host

我有一个react-app,我将我的应用设置为在启动应用时使用HOST变量在自定义网址上运行,例如:

"scripts": {
    "start": "HOST=my-local-website.com ..."
}

在设置HOST变量之前,我需要从Windows虚拟机访问此url以在IE11上对其进行测试,因此我可以仅通过IP地址(192.168.X.XX:3000)来访问它。 HOST变量将不再起作用。

有人知道我如何从虚拟机访问它吗? 预先谢谢你

1 个答案:

答案 0 :(得分:0)

  1. 我建议像dicumentation中所述在单独的.env文件中设置环境变量。

  2. .env文件中设置HOST=my-local-website.com来更改主机(尚不清楚为什么官方文档建议在所有env变量前加上REACT_APP_前缀)

  3. 映射到服务器IP地址(在您的情况下为my-local-website.com)的网站名称192.168.X.XX:3000使用DNS完成。这与网络有关,与您使用的框架无关。因此,要能够通过名称访问您的站点,您必须在站点名称和IP地址之间建立映射

此映射的DNS条款

my-local-website.com A 192.168.X.XX

但是对于测试目的,您可以使用简化的方法(我认为您没有建立DNS服务器)。在Windows上,您可以使用hosts文件夹中的C:\Windows\System32\drivers\etc文件。文件名为hosts。用任何文本编辑器(如记事本)打开它并添加字符串

192.168.X.XX  my-local-website.com

IP地址放在首位,名字在最后。不要包含端口号(:3000),因为它与DNS不相关。应该在测试(客户端)PC上而不是在运行应用程序的PC上更改hosts文件。

您还可以在运行应用的PC上修改主机,以检查主机的配置是否正确。

要检查所有内容是否正确,您可以像这样使用ping

ping my-local-website.com

如果正确配置了所有内容,则应打印IP地址。

  1. 如果您在Windows主机上运行您的应用,则防火墙配置可能存在问题。如果您的应用在启动时所在的同一台PC上打开,而不在另一台PC上打开,则最有可能是防火墙阻止了流量。如果有的话,它可以是Windows防火墙或防病毒软件。