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

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

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


当前回答

使用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/ **。

其他回答

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

您可以使用以下命令访问您的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

你也可以使用ngrok自省所有在隧道上运行的HTTP流量 ,然后你可以使用ngrok HTTP——host-header=rewrite 4200来公开

问题出在防火墙上。如果您在Windows上,请确保允许节点通过

我只是编辑了angular。Json文件在我的项目如下,它的工作

...

    "serve": {
    "builder": "@angular-devkit/build-angular:dev-server",
    "options": {
      "browserTarget": "project:build",
      "host": "0.0.0.0"
    },
...