如何允许在Angular2中访问本地主机之外的对象?我可以在localhost:3030/panel轻松导航,但当我写我的IP如10.123.14.12:3030/panel/时,我无法导航。
您能告诉我怎么修吗?我没有使用npm(节点项目管理-节点安装/节点启动)来安装和运行项目。
如果你需要,我可以提供我的包裹。Json和index.html。
如何允许在Angular2中访问本地主机之外的对象?我可以在localhost:3030/panel轻松导航,但当我写我的IP如10.123.14.12:3030/panel/时,我无法导航。
您能告诉我怎么修吗?我没有使用npm(节点项目管理-节点安装/节点启动)来安装和运行项目。
如果你需要,我可以提供我的包裹。Json和index.html。
当前回答
使用ng serve——host 0.0.0.0命令解决了我的问题。使用192.168.x。X:5200才能从另一台机器上访问应用程序。
此外,检查客户端和服务器上的防火墙规则(暂时禁用防火墙或创建允许流量的规则)
其他回答
一个可能会帮助到某人的快速解决方案:
添加这一行作为启动ng serve——host 0.0.0.0——disable-host-check的值 在package.json中
ex:
{
"ng": "ng",
"start": "ng serve --host 0.0.0.0 --disable-host-check",
"build": "ng build",
}
然后简单地执行start或npm run start
您将能够从其他本地ip访问您的项目。
对我来说,它使用“ng serve -open -host 0.0.0.0”,但有一个警告
警告:这是一个简单的服务器,用于测试或调试Angular应用程序 本地。它还没有被审查安全问题。
将此服务器绑定到打开的连接可能会损害您的应用程序或 电脑。使用不同于传递给"——host"标志的主机可能会导致 Websocket连接问题。你可能需要使用"——disableHostCheck"如果那是 的情况。
创建proxy.conf.json并粘贴此配置
{
"/api/*":
{
"target": "http://localhost:7070/your api project name/",
"secure": false,
"pathRewrite": {"^/api" : ""}
}
}
替换:
let url = 'api/'+ your path;
在CLI下运行:
ng serve --host port.number —-proxy-config proxy.conf.json
ng serve --open --host 0.0.0.0 --disable-host-check
这对我来说非常有效(甚至使用一个a主机指向该IP的公共IP)。
你也可以使用ngrok自省所有在隧道上运行的HTTP流量 ,然后你可以使用ngrok HTTP——host-header=rewrite 4200来公开