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('服务已经启动');
})

将会出现如下结果:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值