为什么这里的大多数教程、示例和问题都使用本地 IP 或localhost
(或任何其他硬编码路径)如下所示:
var socket = io.connect('http://127.0.0.1:3700');
而不是简单地:
var socket = io.connect(document.location.protocol+'//'+document.location.host);
Or even:
var socket = io.connect();
像这样动态化有什么风险吗?有没有更好的方法可以让我的脚本在本地和生产环境中工作,而不必每次都更改此值?
如果您使用动态连接网址而不是硬编码的连接网址,我认为不会涉及任何风险。
在我看来,像第一个示例中那样的硬编码网址对于初学者来说更容易理解。第二个例子可能会令人困惑。 (实际上我还必须检查 document.location.host 是否包含端口号)。我想这就是为什么大多数示例和教程都使用硬编码变体的原因。
如果第三个示例在您的开发和生产环境中都有效,那么您应该使用它。但是,如果套接字运行在与应用程序其余部分不同的端口和/或主机上,则它不起作用,并且有必要在脚本中的某个位置对其进行硬编码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)