node搭建服务器
node安装
这里就不展示了,可以查看我之前发的node安装教程
node搭建服务器
1.首先创建一个文件夹,通过vscode打开
2.然后打开终端,输入
npm init -y 初始化项目
3.然后安装http的依赖
npm i http
4.然后启动http服务器
//app.js
const http = require('http');
http.createServer((req,res)=>{
res.write('hello wrold');
res.end();
}).listen(3000,()=>{
console.log('服务已经启动');
})
在终端中输入
node app.js
当然这里安利一个好用的插件,因为我们下次更新一个行代码,需要重新自己在运行一遍
这个时候我们可以安装一个nodemon插件
npm install nodemon
然后输入 nodemon app.js
这个时候我们将不需要每更新一行代码重启一次服务
结果如下:
5.这个时候我们似乎可以看到我们想要渲染的数据,可是当我们想让页面输出中文的时候,这个时候页面似乎出现乱码
对于这种情形,我们应该需要给我们的数据添加响应头
const http = require('http');
http.createServer((req,res)=>{
res.writeHead(200,{ "Content-Type": "text/html;charset=utf-8" })//添加响应头
res.write('小编好帅');
res.end();
}).listen(3000,()=>{
console.log('服务已经启动');
})
结果如下:
6.根据不同的请求url,给予不同的url
因为我们请求接口不同返回的数据也是不相同的
于是就会有以下的代码:
//renderContent.js
function renderContent(url) {
switch (url) {
case "/api/home":
return `
{
page : '首页'
}
`;
case "/api/target":
return `
{
page : '分页'
}
`;
default:
return "404";
}
}
exports.renderContent = renderContent;
//renderStatus.js
function renderStatus(url) {
const arr = ["/api/home", "/api/target"];
return arr.includes(url) ? 200 : 404;
}
module.exports = {
renderStatus,
};
然后在我们的app.js中输入如下代码:
const http = require('http');
const { renderStatus } =require('./renderStatus');
const { renderContent } = require('./renderContent')
http.createServer((req,res)=>{
res.writeHead(renderStatus(req.url),{ "Content-Type": "text/html;charset=utf-8" })//给响应头添加响应数据
res.end(renderContent(req.url));
}).listen(3000,()=>{
console.log('服务已经启动');
})
将会出现如下结果: