目录
问题
用Angular2运行的项目,用localhost或者127.0.0.1可以访问,本机ip就不能访问。
一开始还以为是防火墙或者账号权限什么的对此进行了限制,不能访问。结果,关闭了防火墙,打开了权限,一样没有用。
后来,就到网上各种查啊,搜索啊,结果还是不行。终于看到一篇文章,是最近才发出来的,就抱着试试看的态度去尝试,一试,诶!可以了。
解决办法
首先,我是参考了网上的一篇文章的方法,不过,那篇文章的讲的不是一个框架,但是原理是一样的。
基于这个原理,我找到了关于angular2的项目的解决办法。
在项目中的node_modules文件夹内找到@angular文件夹,然后,cli —> lib —> config —> schema.json, 搜索“serve”,找到它之后,编辑host(编辑器一般是会先询问,你就同意就好了)。
"properties": {
"port": {
"description": "The port the application will be served on.",
"type": "number",
"default": 4200 // 这里就是修改端口
},
"host": {
"description": "The host the application will be served on.",
"type": "string",
"default": "0.0.0.0" // 初始值为localhost。这里就是修改项目访问的域名,修改这个
}
可以修改为0.0.0.0,也可以直接修改成本机的ip地址,不过,这有一个问题:改成0.0.0.0后,有可能会出现Invalid Host header。
这个解决办法在这个链接中就有,也是看原理:
不过,推荐是改成自己的IP地址,虽然不能使用localhost和127.0.0.1了,但是,起码问题解决啦~