写在前面
万事皆有因,写这篇文章的缘由呢,是因为。。。
刚开始接触RN的时候,一切都是辣么顺利,跟着文档走啊,一般都是不会有什么错的,然后项目轻轻松松就跑起来了,顺便一下,文档在这里-->http://reactnative.cn/
可是容易得来的总是没那么容易留得住,有那么几个月没有去接触,最近项目又没那么紧了,又想起来要倒腾一下RN,结果出了岔子了,就是没办法连上8081端口,就像这张图
看看命令行的显示
这边提示消息是js服务没法识别
显示404 notfound
--好问题就介绍到这里,现在我们详细讲一下遇到这种问题该怎么搞。
通过这个提示,我们一般就可以确定是js那边的问题了,可是我们全部是按官网教程来的,怎么会有问题呢?
这种情况呢,通过多方打听,js服务未开启,可能是端口被占用问题,怎么确认呢?我们来看看端口使用情况。
使用命令窗口来查询
- 查询端口使用情况
netstat -aon
可以查询所有端口的使用情况
但是我们知道RN默认使用8081端口,所以我们可以加个过滤的参数
netstat -aon |findstr "8081"
此处的结果就很少了
根据这个参数说明,我们知道每列代表的是啥意思了
现在我们知道8081有被占用,但是占用它的程序是哪个呢?通过pid入手
- 使用pid获取占用端口的程序
tasklist | findstr "pid值"//此处填入查询到的pid值
元凶就是它了
- 关闭此程序
这边注意下,不是所有的占用程序都可以随便关闭,这边我知道这个程序是干嘛的,我就可以随便关闭了,建议知道此程序的作用再操作。
taskkill /pid pid值/F//此处填pid值
通过pid找程序是为了确定此程序是否可以关闭,最后还是通过pid值来关闭程序
有时候会显示拒绝访问,那就自己手动找到程序关闭吧
我知道这个程序是啥,然后关闭了,现在再看看
现在8081端口没有被占用了,我们再试试启动RN的安卓程序试试
不再是显示js没办法运行了
程序运行起来了,而且也能正常显示了