nodejs-基本使用

来源:互联网 发布:手机超市软件 编辑:程序博客网 时间:2024/06/18 01:21
//1.新建了一个文件夹,在文件夹里新建了server.js,在server.js里面去写后端程序.//2.我们可以通过commonjs的规范去引入nodejs里面的模板//   nodejs编程方式,也就是使用commonjs规范//   然后其他逻辑使用JS语法去构建就行了//3.后端启动了吗?怎么启动这个后端程序?//   cmd切盘到项目里面,//   输入 node server.js启动了程序//4.测试nodejs程序//1.http模块        包含了很多东西,包含创建一个服务器createServer()的方法,创建socket方法var http = require('http');//包括了http请求里面的url封装的任何对象//比如我要获取请求地址里面?userId=1009//post请求一些参数var url = require('url');var router=require('./router.js');//载入路由//2.创建服务器createServer(function(){})  端口号为3000http.createServer(function(request,response){     response.writeHead('200',{'Content-Type':'application/json;charset=utf-8',     'Access-Control-Allow-Origin':'*'     });     router(request,response,url);//路由//   //可以通过request.url获取当前的访问地址    端口号后面的地址//   //url.parse() url模块里的方法,能把当前的请求转换成请求对象,可以将当前对象的全部信息获取到//   var _url = request.url;//   console.log(_url);//   var _requestUrl = url.parse(_url); //把当前的请求转换成请求对象,可以将当前对象的全部信息获取到//   console.log(_requestUrl);//   //判断不同的请求,给用户反馈不同的json数据(路由)//   var currentPath = _requestUrl.pathname;//获取请求地址//   switch(currentPath){//        case "/users"://            var users = '{"users":"dong.xie"}';//            response.write(users);//        break;//        case "/goods"://            var goods = '{"goodId":"1009","goodName":"零食","goodPrice":"100"}'//            response.write(goods);//        break;//        case "/query"://            var query = '{"total":"100","result":"[{},{},{}]"}'//            response.write(query);//        break;//        case "/favicon.ico"://        break;//   }     //在创建服务方法里面是有一个回调函数,里面有两个参数request,response,创建的服务到底是做什么的?(给前端做服务)     //前端和后端的交流方式是,前端发出请求,后端接收到之后做出响应     //request,response?     //request主要用来获取前端传送来的信息和数据,接受前端请求.     //response主要是用来响应前端的请求,给前端返回一些数据     //demo1:给前端返回一串json数据     //1.设置http头部  writeHead('http状态值',{http属性})     //对外响应Content-Type数据类型//     response.writeHead('200',{'Content-Type':'application/json;charset=utf-8',//   'Access-Control-Allow-Origin':'*'//   });     //console.log("浏览器已经开始访问了");     //2.数据返回出去 write(字符串)  主要是对外输出一段数据的方法     //var s='sayHello({"message":"this is my first node app账号aaf"})'; //解决跨域的第一种方法//   var s='{"message":"this is my first node app账号aaf"}';//   response.write(s);     //3.结束响应 释放资源     response.end();     //当输出的格式为中文如何解决?     //在writeHead里面去设置charset=utf-8}).listen(3000);console.log("node started");//第二种方法  解决跨域//2.跨域的解决 CORS属性 后端直接输出json//核心就是在后端的http头部里面去设置Access-Control-Allow-Origin属性//第三种方法//3.代理服务器  原理和CORS属性一样的//也就是在nodejs服务器上面去访问另外的跨域请求//将数据得到,设置Access-Control-Allow-Origin属性就可以解决了//如何去设计result标准的api 定制一些接口访问url标准//登录:http://ip:port/user/login//注册:http://ip:port/user/register//查询:http://ip:port/user/query//查询通过ID:http://ip:port/user/queryid//1.从功能上去设计//2.从功能贯穿到命名,就是言简意赅,用户一看到api url就知道干什么用的.////引出问题,我们目前设计好的都是没有实现的,将来实现以后,也是前端发请求给后端//1.后端怎么根据这四个不同的请求,来进行判断//2.如何在识别了这些不同的请求以后,能给出不同的请求     路由:/*** * @time:2016-09-07 * @desc:nodejs 路由 后端路由 * 主要的作用是判断浏览器用户发来的不同的请求,并且做出不同的回应 * @auth:StevenYu * */ var router = function(request,response,url){     var _url = request.url;     console.log(_url);     var _requestUrl = url.parse(_url); //把当前的请求转换成请求对象,可以将当前对象的全部信息获取到     console.log(_requestUrl);     //判断不同的请求,给用户反馈不同的json数据(路由)     var currentPath = _requestUrl.pathname;//获取请求地址     switch(currentPath){          case "/users":              var users = '{"users":"dong.xie"}';              response.write(users);          break;          case "/goods":              var goods = '{"goodId":"1009","goodName":"零食","goodPrice":"100"}'              response.write(goods);          break;          case "/query":              var query = '{"total":"100","result":"[{},{},{}]"}'              response.write(query);          break;          case "/favicon.ico":          break;     } }module.exports = router;

0 0
原创粉丝点击