小火柴的博客笔记 小火柴的博客笔记
首页
学过的习
踩过的坑
想过的事
首页
学过的习
踩过的坑
想过的事
  • 学过的习

    • CSS的样式优先级权重
    • 事件冒泡和事件捕获
    • js模块可以通过两种方式对外暴露函数
    • js中的内存泄漏和内存溢出
    • js作用域链
    • 控制台暴露vue
    • es5常用知识总结
    • es6常用知识总结
    • es7常用知识总结
    • js模块化
    • nodeJs学习
    • node搭建服务器
      • 我们可以用node创建原生的服务器。不用依赖express框架,主要有以下几个步骤
      • Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助快速创建各种 Web
    • webPack学习
    • js原型对象和原型链的理解
    • css阻塞与js阻塞
    • ajax的学习
    • 浏览器的重绘与重排
    • 函数防抖与函数节流学习记录
    • 浏览器储存学习
    • React起步
    • React的基本使用
    • React项目搭建
    • vue中attrs和listeners的使用
    • js的精度问题
    • React的状态管理
    • yarn和npm的对比
    • websocket的使用
  • 想过的事

  • 踩过的坑

  • 前端
  • 学过的习
小火柴
目录

node搭建服务器

# 我们可以用node创建原生的服务器。不用依赖express框架,主要有以下几个步骤

# 1、引入http模块

//http模块是Node中的核心模块,无需下载
let http = require('http');

# 2、创建一个服务对象

 let server = http.createServer((request,response)=>{
     response.end('hello,node');
  })  
   //request请求对象 ------- 客户端发过的数据,都在request里面
   //response响应对象 ------- 将要交给客户端的数据,都在response这里面

# 3、绑定监听

    server.listen(3000,(err)=>{
        if(!err){
            console.log('服务器启动成功了');
        }else{
            console.log(err);
        }
    })

# 完整代码:

  
   let http = require('http');
   let querystring = require('querystring');  //require身上有一个属性queryString(查询字符串)


   let server = http.createServer((request,response)=>{
       
        let param = request.url.split('?')[1]; //截取问号之后的字符串
        let paramObj = querystring.parse(param)
       
        response.setHeader('content-type','text/html;charset=utf-8'); //设置响应头
        response.end('hello,node');
        
    });
    
    
    server.listen(3000,(err)=>{
        if(!err){
            console.log('服务器启动成功');
        }else{
            console.log(err);
        }
    })

# 总结:node原生的服务器对post请求不太友好,并且需要手动的解析get请求,使用起来非常的不方便,所以现在经常使用express框架来搭建node的服务端

# Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助快速创建各种 Web

# 1、引入express模块(库)

let express = require('express');

# 2、创建app应用对象

let app = express();

# 3、设置路由(对请求的网址进行分类处理)

  • get 请求路由设置
设置GET请求:
   ·request对象上的方法:
      request.query	获取get请求查询字符串的参数,拿到的是一个对象
      request.params 	获取get请求参数路由的参数,拿到的是一个对象
      request.body	获取post请求体,拿到的是一个对象
      request.get(xxxx)	获取请求头中指定key对应的value

  · response对象上的方法:
      response.send()	给浏览器做出一个响应
      response.end()	给浏览器做出一个响应(不会自动追加响应头)
      response.download()	告诉浏览器下载一个文件(相对路径)
      response.sendFile()	给浏览器发送一个文件(绝对路径)
      response.redirect()	重定向到一个新的地址(url)
      response.set(header,value)	自定义响应头内容
      response.get()	获取响应头指定key对应的value
      res.status(code)	设置响应状态码
-----------------------------------------------------------------------------------------------

	app.get('/',(request,response)=>{
	
	      request.query      //获取GET请求的查询字符串参
	      response.send('this is get');   //用户通过浏览器输入网址请求页面的方式是GET请求
	      
	});
	
	
	app.get('/test',(request,response)=>{
	
        console.log(request.query);
        response.send('this is back of get');
        
    });

    
  • post请求路由设置
  由于post请求的请求体无法直接的获取参数,所以我们需要在引入app之后,配置中间件:
  app.use(express.urlencoded({extended:true}))
  就能够通过request.body来获取
  
  app.post('/demo/test',(request,response)=>{
    console.log(request.body)
    response.send('服务器给浏览器回应了');
  });

# 4、绑定监听

	app.listen(3000,(err)=>{
	  if(!err){
	    console.log(‘服务器连接成功’);
  	  }else{
	    console.log(err);
	  }
	});
#node
nodeJs学习
webPack学习

← nodeJs学习 webPack学习→

Theme by Vdoing | Copyright © 2021-2023 X match
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式