这里是js源码
//根据不同的url,响应不同的页面内容
//导入 http模块
const http = require('http');
//创建一个服务器实例
const server = http.createServer();
//监听服务器请求
server.on('request', (req, res) => {
//拿到客户端请求的url
const url = req.url;
//默认响应为页面未找到
let str = `<h1>404页面未找到</h1>`;
if (url === '/' || url === '/index.html') {
str = `<h1>我是首页</h1>`;
} else if (url === '/about.html') {
str = `<h1>关于页面</h1>`;
}
//设置响应头字符串格式,防止乱码
res.setHeader('Content-Type', 'text/html;charset=utf-8');
res.end(str);
});
//开启服务器
server.listen(80, () => {
console.log('server running at http://127.0.0.1');
})
报的错误
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE: address already in use :::80
at Server.setupListenHandle [as _listen2] (net.js:1318:16)
at listenInCluster (net.js:1366:12)
at Server.listen (net.js:1452:7)
at Object.<anonymous> (D:\学习D\前端开发\02-配套课件\第四阶段:
前后端交互阶段资料新\第四阶段:前后端交互阶段资料新\node.js\day2(第
4章5小节-第5章第2小节)\day2\test\13.test.js:22:8)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47
Emitted 'error' event on Server instance at:
at emitErrorNT (net.js:1345:8)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
code: 'EADDRINUSE',
报的错误中有一句话很重要:address already in use :::80,意思就是 地址已经被占用,端口号80。
先前在学习PHP的过程中,经常遇到80端口被占用的情况,所以在学习node的时候,看到80也就会联想到端口被占用这种状况,于是 就进行了查看端口号占用操作,关闭相应进程,解决如上错误的操作 。
具体的操作如下:
1.打开cmd命令(学到了服务器这一块,cmd怎么打开肯定是会的了,如果不会呢,去查一下哈)
2.输入检查端口占用的命令: netstat -ano
发现被一个什么东西占用了
3.记录下PID号,我这里是12800
4.输入关闭进程的命令:taskkill/pid 12800 /f
(在这里边,/f 的意思是强制关闭进程的意思)
这时候,cmd就提示我们
到此,就解决了问题。