如何通过执行Node.js文件生成localhost URL?代码运行正常但本地访问失败
解决Node.js服务能运行但localhost无法访问的问题
嘿,我来帮你排查下这个问题!你的代码本身逻辑没问题,能通过node first.js正常运行说明Node.js环境配置是对的,访问localhost失败大概率是一些细节没注意到,咱们一步步来排查:
确认访问地址是否正确:一定要在浏览器里输入完整的地址
http://localhost:8080,重点盯紧端口号是8080——你的代码里监听的就是这个端口,别误写成80或者其他数字。如果启动时命令提示符弹出EADDRINUSE的报错,说明这个端口被其他程序占用了,要么把代码里的8080改成3000这类未被占用的端口,要么关掉占用8080的程序。检查防火墙设置:本地防火墙可能会拦截Node.js的服务请求。你可以暂时关闭防火墙试试能不能访问,如果成功了,记得给Node.js或者8080端口添加一个防火墙例外规则,避免后续再出问题。
验证hosts文件配置:
- Windows系统:打开
C:\Windows\System32\drivers\etc\hosts文件(需要管理员权限),确认里面有127.0.0.1 localhost这一行; - Mac/Linux系统:打开
/etc/hosts文件,同样确认上述配置存在。
如果没有的话,添加这一行并保存,然后重启浏览器再试。
- Windows系统:打开
尝试用IP直接访问:有时候localhost的域名解析会出问题,你可以换成
http://127.0.0.1:8080来访问,看看能不能成功加载页面。保持命令提示符窗口运行:运行
node first.js后,那个命令提示符窗口必须保持打开状态,一旦关掉,Node.js服务就停止了,自然无法访问。
另外,你的代码本身是正确的,这里再贴出来方便参考:
var http = require('http'); function onRequest(req,res) { res.writeHead(200,{'Content-Type':'text/plain'}); res.write('hello js'); res.end(); } http.createServer(onRequest).listen(8080);
内容的提问来源于stack exchange,提问作者Atul Verma
相关产品推荐
相关产品推荐

