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

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

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


当前回答

不包。Json需要更改。

对我来说,它的工作原理是:

ng serve --host=0.0.0.0 --port=5999 --disable-host-check

主持人:http://localhost: 5999 /

其他回答

对我来说,它使用“ng serve -open -host 0.0.0.0”,但有一个警告


警告:这是一个简单的服务器,用于测试或调试Angular应用程序 本地。它还没有被审查安全问题。

将此服务器绑定到打开的连接可能会损害您的应用程序或 电脑。使用不同于传递给"——host"标志的主机可能会导致 Websocket连接问题。你可能需要使用"——disableHostCheck"如果那是 的情况。

对于使用节点项目管理器的人,这一行也添加到包中。Json就足够了。对于angular CLI用户来说,mast3rd3mon的答案是正确的。

你可以添加

"server": "webpack-dev-server --inline --progress --host 0.0.0.0 --port 3000"

对package.json

创建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

你也可以使用ngrok自省所有在隧道上运行的HTTP流量 ,然后你可以使用ngrok HTTP——host-header=rewrite 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"]