在我们的开发环境中,我们在开发模式下在Mac上运行Angular应用程序(grunt serve) 在Mac上的浏览器中,我们可以使用http://localhost:9000/
访问它我们如何在VirtualBox上从IE访问它?
我们正在使用你的角度生成器Gruntfile.js
connect: {
options: {
port: 9000,
// Change this to '0.0.0.0' to access the server from outside.
hostname: 'localhost',
livereload: 35729
},
更新:
VirtualBox通过Windows和IE安装在同一台Mac上,我在那里服务"并开发Angular应用程序
我可以使用网址在VBox中从IE访问角度应用:http://10.0.2.2 但有些事情仍然无效
1)在“网络”面板中
request.Name: livereload.js?snipver=1
request.Path: http://10.0.2.2:35729/
request.Protocol: pending
request.Status (Description): pending
2)在“网络”面板中,没有列出XHR请求
问题可能是应用程序正在使用通过VPN访问的另一台服务器上的REST端点?
解决:
问题不在于V-Box网络设置,而在于我在角度应用程序中检测localhost的方式(用于DEV目的)
我有:
var IS_LOCALHOST = (location.hostname.indexOf('localhost') > -1)
我把它改成了
var IS_LOCALHOST = (location.hostname.indexOf('localhost') > -1) || (location.hostname.indexOf('10.0.2.2') > -1);
我用它来做像
这样的事情var BASE_URL = IS_LOCALHOST ? 'http://dev.api.base.url' : 'http://' + location.hostname;
答案 0 :(得分:0)
Virtualbox在哪里托管?我假设它正在运行某些版本的Windows,因为你问的是IE。
如果Virtualbox与Angular应用程序在同一主机(物理机器)上运行,则听起来您需要将VM设置为“仅主机”网络模式。 请参阅:https://superuser.com/questions/303906/virtualbox-make-host-and-guest-os-talk-between-each-other
在主机和来宾计算机之间建立联网后,您应该能够在Virtualbox中启动IE,并键入Mac的IP地址和端口(:9000)并连接。 确保Grunt Serve设置为在“localhost”之外提供服务。请参阅:Access node.js/grunt server through localhost:port on virtual machine
此外,请确保没有任何防火墙规则干扰Mac上端口9000的请求。
答案 1 :(得分:0)
您可以转到Windows操作系统的虚拟机网络适配器设置并桥接这两个连接。通过这种方式,您可以通过提供IP地址,mac端口来访问IE中的角度应用程序。 http://IP_OF_MAC:Port