如何允许在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。
当前回答
如果你在Docker内部遇到同样的问题,那么你可以在Dockerfile中使用下面的CMD。
CMD ["ng", "serve", "--host", "0.0.0.0"]
或完成Dockerfile
FROM node:alpine
WORKDIR app
RUN npm install -g @angular/cli
COPY . .
CMD ["ng", "serve", "--host", "0.0.0.0"]
其他回答
您可以使用以下命令访问您的ip。
ng serve --host 0.0.0.0 --disable-host-check
如果你正在使用npm,并且想要避免每次都运行这个命令,我们可以在包中添加下面的行。Json文件在脚本部分。
"scripts": {
...
"start": "ng serve --host 0.0.0.0 --disable-host-check"
...
}
然后,您可以使用以下命令运行您的应用程序,以便从同一网络中的其他系统访问。
npm start
Ng serve——host 0.0.0.0将允许您使用自己的IP而不是本地主机连接到Ng serve。 打开浏览器到<IP-ADDRESS>:4200 使用ng serve——host 0.0.0.0——disable-host-check将允许您使用您的域而不是localhost连接到ng serve。 打开浏览器到<DOMAIN-NAME>:4200
问题出在防火墙上。如果您在Windows上,请确保允许节点通过
使用ng serve——host 0.0.0.0命令解决了我的问题。使用192.168.x。X:5200才能从另一台机器上访问应用程序。
此外,检查客户端和服务器上的防火墙规则(暂时禁用防火墙或创建允许流量的规则)
使用ng serve——host 0.0.0.0将允许您使用您的ip而不是localhost连接到ng serve。
EDIT
在较新的cli版本中,您必须提供本地ip地址
编辑2
在cli的新版本中(我认为是v5或更高版本),您可以再次使用0.0.0.0作为ip,为网络上的任何人托管它。
顺便提一下 确保您的连接在操作系统设置中设置为Public。