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

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

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


当前回答

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

你可以添加

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

对package.json

其他回答

ng serve --open --host 0.0.0.0 --disable-host-check

这对我来说非常有效(甚至使用一个a主机指向该IP的公共IP)。

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

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

...

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

在Angular版本11(也许还有一些更早的版本)中,public-host选项对我来说很有用,例如:

$ ng serve --host 0.0.0.0 --public-host app.mypublicdomain.com

不包。Json需要更改。

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

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

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