如何允许在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 --disable-host-check
这将禁用主机检查,并允许从外部(而不是localhost)访问IP地址
其他回答
Mac用户:
进入“系统首选项->网络-> Wi-Fi” 复制状态下面的IP地址(通常是192.168.1.x) 把它粘贴到你的ng serve中,比如:ng serve——host 192.168.1.x
然后,您必须能够通过192.168.1.x: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"]
我只是编辑了angular。Json文件在我的项目如下,它的工作
...
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "project:build",
"host": "0.0.0.0"
},
...
对我来说,它使用“ng serve -open -host 0.0.0.0”,但有一个警告
警告:这是一个简单的服务器,用于测试或调试Angular应用程序 本地。它还没有被审查安全问题。
将此服务器绑定到打开的连接可能会损害您的应用程序或 电脑。使用不同于传递给"——host"标志的主机可能会导致 Websocket连接问题。你可能需要使用"——disableHostCheck"如果那是 的情况。
使用ng serve——host 0.0.0.0将允许您使用您的ip而不是localhost连接到ng serve。
EDIT
在较新的cli版本中,您必须提供本地ip地址
编辑2
在cli的新版本中(我认为是v5或更高版本),您可以再次使用0.0.0.0作为ip,为网络上的任何人托管它。
顺便提一下 确保您的连接在操作系统设置中设置为Public。