node.js学习心得

@node.js学习心得TOC

#node.js是构建在Chrome v8 引擎上的一个javascript 运行环境

说到node.js首先是学会安装,win+r cmd进入dos命令窗口

//1初始化环境目录

npm init

//2确认版本信息点击enter确认直到is this ok 出现

npm init -y//默认配置信息

npm install

//引用时

var fs=require('fs‘);

var http=require('require);

//创建服务器

http.creatSevers(function(req,res){

})

//读取文件

fs.readFile('文件名','utf-8',function(err,data){

if(!err){

}

else{

}

})

//写入信息

fs.writeFile('路径',写入数据,回调函数);//在文件不存在时可以创建文件

//若想追加而不是覆盖,加入参数{flag:'a'}

//安装淘宝镜像

npm install -g cnpm -- registry=http://registry.npm .taobao.org

//安装nodejs提示工具

npm install --save -dev@types/node

//解决跨域

res.writeHead(200,{'Content-Type':'text-html;charset=utf-8'})\

//向服务器发起请求

fetch(路径,方法)//fetch()的返回值为promise对象所以经常采用

fetch().then().then();

Express框架

//首先我们要安装express

npm init

cnpm install express --save

用 get接受get请求post接受post请求,res.send();//向客户端返回数据并结束

//express框架里采用路由分发机制,在一个js文件可以存在多个录由

var express=require(‘express’);var app=express();

app.get(’/’,function(req,res){req.query能拿到get请求传来的参数});app.post(’/’,function(req,res){req.body能接受post请求传来的的参数});

POST请求在客户端一定要带上请求头headers:{‘content-Type’:‘application/x-www-form-url.encoded’}

统一目录开发 ,协同开发要使用脚手架组件工具express-generator;

安装,npm install express-generator -g

使用,express -h(打出常见命令)-v(模板引擎) -c(设置CSS) dir查看当前目录所有文件

所有包 cnpm install

express --view =pug 文件名

bin目录为启动目录 node-modules为所有包,public里放前端静态资源routes目录存放录由文件

var express=require(‘express’);

var router=express.Router();

//在录由写完后要导出module.exports=router;

下面就是我写的登陆录由

let express=require('express');

let router=express.Router();

let fs=require('fs');

let Person=require('../moudel/person');

router.post('/',function(req,res,next){

let loginer=req.body;

console.log(loginer.username+"第一次");

let obj1={};

fs.readFile('./data/myData.txt','utf-8',(err,data)=>{

    if(!err){

        console.log('读取本地注册信息成功第二次');

        let dat=JSON.parse(data);

        for(let i in dat){

        if(dat[i].username==loginer.username&&dat[i].pwd==loginer.pwd){

            obj1.msg='登陆成功';

            obj1.code = 204;

        }else if(dat[i].username!=loginer.username&&dat[i].pwd==loginer.pwd){

            obj1.msg = '该用户不存在!';

              obj1.code = 204;

        }

        else if(dat[i].username==loginer.username&&dat[i].pwd!=loginer.pwd){

            obj1.msg = '密码错误!';

            obj1.code = 206;

        }

    }

    }

  else{

    console.log('读取本地注册信息失败。。。。。。第三次');

  }

  console.log(obj1.code+"第三次");

  res.write(JSON.stringify(obj1.msg));

  res.end();

});

});

router.post('/regist',function(req,res,next){

let parmes=req.body;

console.log(parmes);

// fs.readFile('./data/myData.txt','utf-8',(err,data)=>{

//    req.body

// })

// console.log(parmes+"测试");

saveData(parmes,function(obj){

    res.write(JSON.stringify(obj.msg));//将数据反应给前端

    res.end();

});

});

router.get('/bookKinds',function(req,res,next){

    let obj={};

    let obj1={};

    fs.readFile('./data/books.json','utf-8',(err,data)=>{

        if(!err){

            obj.data=JSON.parse(data);

            obj1.resultcode=obj.data.resultcode;

            obj1.reason=obj.data.reason;

            obj1.result=obj.data.result;

            res.write(JSON.stringify(obj1));

            res.end();

        }else{

            obj1.resultcode=0;

            obj1.reason="err";

            obj1.result="";

            res.write(JSON.stringify(obj1));

            res.end();

        }

    });

})

function saveData(parm,fn){

    let obj={};

    let username=parm.username;

    let pwd=parm.pwd;

    let tel=parm.tel;

    let sex=parm.sex;

    let person=new Person(username,pwd,tel,sex);

    getData(function(dataArr){

        dataArr.push(person);

        console.log(JSON.stringify(dataArr));

        console.log('------------------------------------');

    fs.writeFile('./data/myData.txt',JSON.stringify(dataArr),err=>{

        if(!err){

            obj.code=202;

            obj.msg="注册成功";

        }

        else{

            obj.code=502;

            obj.msg="注册失败!";

        }

        fn(obj);

    })

    });

}

function getData(fn){

    let arr=[];

    fs.readFile('./data/myData.txt','utf-8',(err,data)=>{

        if(!err){

            console.log('本地注册信息',data);

            arr=JSON.parse(data);

        }

        else{

            console.log('读取本地注册信息失败');

        }

        fn(arr);

    });

}

module.exports = router;

---------------------

   

   

   

   

    书城

   

   

           

  •        


  •        

             

                    忘记密码

               

           

                注册新用户

           

     

 


你可能感兴趣的:(node.js学习心得)