如何允许在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。
当前回答
Mac用户:
进入“系统首选项->网络-> Wi-Fi” 复制状态下面的IP地址(通常是192.168.1.x) 把它粘贴到你的ng serve中,比如:ng serve——host 192.168.1.x
然后,您必须能够通过192.168.1.x:4200在其他设备上看到您的页面。
其他回答
您可以使用以下命令访问您的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
如果你在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 --disable-host-check
这将禁用主机检查,并允许从外部(而不是localhost)访问IP地址
ng serve --open --host 0.0.0.0 --disable-host-check
这对我来说非常有效(甚至使用一个a主机指向该IP的公共IP)。
在Angular版本11(也许还有一些更早的版本)中,public-host选项对我来说很有用,例如:
$ ng serve --host 0.0.0.0 --public-host app.mypublicdomain.com