nodejs-基本使用

//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(){})  端口号为3000
http.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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,安装nodejs-websocket可以按照以下步骤进行: 1. 确保您已经安装了Node.js环境,可以通过在命令行运行node -v来检查Node.js版本。 2. 打开命令行窗口,进入到您的项目目录下。 3. 在命令行中输入以下命令来安装websocket模块: ``` npm install websocket ``` 4. 等待安装完成后,在您的项目中引入websocket模块: ``` var WebSocketServer = require('websocket').server; ``` 5. 接下来,您可以创建一个WebSocket服务器并进行配置: ``` var server = http.createServer(function(request, response) { // 处理HTTP请求 }); server.listen(8080, function() { console.log((new Date()) + ' Server is listening on port 8080'); }); // 创建WebSocket服务器 var wsServer = new WebSocketServer({ httpServer: server, autoAcceptConnections: false }); ``` 6. 最后,在WebSocket服务器上注册事件监听器,以处理客户端连接和消息: ``` wsServer.on('request', function(request) { var connection = request.accept(null, request.origin); console.log((new Date()) + ' Connection accepted.'); connection.on('message', function(message) { if (message.type === 'utf8') { console.log('Received Message: ' + message.utf8Data); connection.sendUTF(message.utf8Data); } }); connection.on('close', function(reasonCode, description) { console.log((new Date()) + ' Peer ' + connection.remoteAddress + ' disconnected.'); }); }); ``` 以上就是安装和使用websocket模块的基本步骤。希望对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值