如何允许在Angular2中访问本地主机之外的对象?我可以在localhost:3030/panel轻松导航,但当我写我的IP如10.123.14.12:3030/panel/时,我无法导航。

您能告诉我怎么修吗?我没有使用npm(节点项目管理-节点安装/节点启动)来安装和运行项目。

如果你需要,我可以提供我的包裹。Json和index.html。


当前回答

打开cmd并导航到项目位置,即为项目运行npm install或ng serve的位置。

然后执行命令- ng serve——host 10.202.32.45,其中10.202.32.45是您的IP地址。

您将能够在10.202.32.45:4200访问您的页面,其中4200是您的端口号。

注意:如果你使用这个命令服务你的应用程序,那么你将无法访问localhost:4200

其他回答

打开cmd并导航到项目位置,即为项目运行npm install或ng serve的位置。

然后执行命令- ng serve——host 10.202.32.45,其中10.202.32.45是您的IP地址。

您将能够在10.202.32.45:4200访问您的页面,其中4200是您的端口号。

注意:如果你使用这个命令服务你的应用程序,那么你将无法访问localhost:4200

如果你在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"]

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——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访问您的项目。