如何允许在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。
当前回答
创建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
其他回答
使用ng serve——host 0.0.0.0将允许您使用您的ip而不是localhost连接到ng serve。
EDIT
在较新的cli版本中,您必须提供本地ip地址
编辑2
在cli的新版本中(我认为是v5或更高版本),您可以再次使用0.0.0.0作为ip,为网络上的任何人托管它。
顺便提一下 确保您的连接在操作系统设置中设置为Public。
你也可以使用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"]
使用ng serve——host<您的IP>——port<如果有>则必须使用。 Ng serve——host=192.111.1.11——port=4545.使用实例 现在可以在编译结束时看到下面这行代码。
Angular Live Development Server正在监听192.111.1.11:4545,打开浏览器http://192.111.1.11:4545/ **。
对于使用节点项目管理器的人,这一行也添加到包中。Json就足够了。对于angular CLI用户来说,mast3rd3mon的答案是正确的。
你可以添加
"server": "webpack-dev-server --inline --progress --host 0.0.0.0 --port 3000"
对package.json