学习node.js的基本知识

1.模块化
导出命令:module.exports = ‘模块名’;
导入命令:require 例如:let app= require(‘app’);

2.文件系统
异步写入 :writeFile(src,info,err=>{
}
同步写入:writeFileSync(src,info,err=>{
}
异步读取:readFile(src,encode,(err,data)=>{
}
同步读取:readFileSync(src,encode,(err,data)=>{
}
3.http模块
createServer() :创建服务器
Listen() :监听端口
request对象:包含了所有客户端请求信息
response对象:包含了所响应客户端信息

例如:注册界面的书写

 let http = require('http'); //获取HTTP请求
 let fs = require('fs'); //获取文件的请求
 const PORT = 9000; //端口号
  let User = require('../user/user');

 let server = http.createServer((req, res) => {
     res.writeHead(200, {
         'Content-Type': 'text/html;charset=utf-8', //字符编码
         'Access-Control-Allow-Origin': '*'//解决跨域问题
     });

     //  /register?username=Tom&pwd=123   
     console.log(req.url); //获取url数据
     let url = req.url.substring(1); //清楚url中的‘/’
     url=decodeURI(url);//对接收到的路径进行编码处理
     let urlArr = url.split('?'); //将接口名和参数分离
     let path = urlArr[0]; //获取端口名称
     let params = urlArr[1]; // 获取参数
     if (path == 'register') {
         saveDate(params, function (obj) {
             res.write(JSON.stringify(obj)); //将数据响应给前端
             res.end(); //结束请求
         });
     } else if (path == 'login') {
         console.log('登录功能');
     }
 });
 //监听
 server.listen(PORT, err => {
     if (err) {
         console.log(`错误:${err}`);
     }
 })
 console.log(`服务器正在运行,端口为${PORT}`);
 console.log('----------end----------')

 //处理数据
 function saveDate(params, fn) {
     console.log('参数:', params);
     //username=Tom&pwd=123
     var obj = {} 响应给前端的对象
     let arr = params.split('&');
     let username = arr[0].split('=')[1]; //获取用户名参数
     let pwd = arr[1].split('=')[1]; //获取密码参数
     let person = new User(username, pwd); //创建用户对象示例
     getData(function (dateArr) {
        //  console.log('你好')
         dateArr.push(person);
         //将数据写入本地
         fs.writeFile('../txt/myData.txt', JSON.stringify(dateArr), 'utf-8', err => {
             if (!err) {
                 obj.code = 202;
                 obj.msg = '注册成功'
             } else {
                 obj.code = 502;
                 obj.msg = '注册失败'
             };
             fn(obj); //调用函数
         })
     })

 }
 //读取本地文件数据
 function getData(fn) {
     let arr = []; //空数组,保存读取到的本地数据
     fs.readFile('../txt/myData.txt', 'utf-8', (err,data) => {
         if (!err) {
             console.log('本地数据:', data);
             arr = JSON.parse(data);
         } else {
             //读取失败
             console.log('读取本地注册信息失败');
         }
         fn(arr);
     });

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值