原生node搭建web服务器实现登录注册详细过程(一)

搭建项目结构

1. 搭建web服务器
1. 建立app.js文件导入http模块,通过createServer()方法创建服务对象,并创建server.on监听用户 request请求,并指定监听端口号,这样一个服务器就开启了。
2. 并在监听事件的回调里面处理接收到的url,通过分割获取路由地址和请求方法和请求参数。

const http = require('http');
const queryString = require('querystring');

// 2.通过http模块创建服务对象
const server = http.createServer();
// 3.通过服务对象监听用户请求
server.on('request', (req, res)=>{
    console.log('接收到请求');
    // 1.获取请求类型
    let method = req.method.toLowerCase();
    // 2.获取请求路径
    let url = req.url;
    let path = url.split('?')[0];
    // 3.获取请求参数
    let params = '';
    if(method === 'get'){
        // 4.处理请求参数
        params = url.split('?')[1];
        params = queryString.parse(params);
        // 5.处理路由
        if(path === '/login'){
            console.log('处理登录请求', params);
        }else if(path === '/register'){
            console.log('处理注册请求', params);
        }
    }else if(method === 'post'){
        // 4.处理请求参数
        req.on('data', (chuck)=>{
            params += chuck;
        });
        req.on('end', ()=>{
            params = queryString.parse(params);
            // 5.处理路由
            if(path === '/login'){
                console.log('post处理登录请求', params);
            }else if(path === '/register'){
                console.log('post处理注册请求', params);
            }
        });
    }
});
// 4.指定监听的端口号
server.listen(3000);

2.搭建项目结构

  1. 在项目中npm init -y 初始化package.json 文件,指定node项目。然后 在app.js中创建initParams()方法处理请求方式,参数,路径,并返回。创建serverHandle()中将处理不同路由的不同处理方式。
  2. 所以在根目录下创建router目录,创建user.js用来保存处理用户的各种路由。并导入到app.js中,在serverHandle中调用这些路由处理方法,并返回数据给前端。并给serverHandle写入header指定json 格式返回数据。
  3. 在根目录下创建bin目录,并创建执行文件,用来运行整个项目。
  4. 编写一个resultModel.js文件,用来处理返回结果,返回状态码code,msg处理信息,和data数据。
    app.js在这里插入图片描述
    router.js
    在这里插入图片描述
    返回数据的模型类
    在这里插入图片描述
    启动文件
    在这里插入图片描述

热部署插件

安装一下cross-env插件,这样在写完代码不需要重启项目便可更新项目。
**注意:**安装此插件的大坑,可能会改一些配置才能运行成功。

cross-env使用
npm install --save-dev cross-env
"scripts": {
  "dev": "cross-env NODE_ENV=dev nodemon ./bin/start.js",
  "build": "cross-env NODE_ENV=pro nodemon ./bin/start.js",
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值