nodejs学习日志(3)

events
 ```js
    const EventEmitter = require('events');
    class MyEmitter extends EventEmitter {}
    const myEmitter = new MyEmitter();
    myEmitter.on('play',callback)
    myEmitter.emit('play')
 ```

 1. 移除全部事件 removeAllLisetener
 2. 移除单个事件 移除的的监听函数 必须是绑定的函数
 3. 绑定事件传参数 
stream
 * 流的方式读写文件
 * req   可读流   res 可写流
 * fs.createReadStream
 * fs.createWriteStream
 * copy文件 整体读取整体写入   readfile   writefile
 * copy文件 流读取整体写入   createReadStream   writefile
 * copy文件 流读取流写入   createReadStream   createWriteStream    
 * 可以pipe实现简化
 
 node 作为服务器的框架   express   koa

express 便于我们快速开发node api接口

创建node服务器

const express = require('express')
const app = express()

app.get('/', (req, res) => res.send('Hello World!'))

app.listen(3000, () => console.log('Example app listening on port 3000!'))

接口书写

get方法
get方法的参数 通过req.query req.url

   app.get(path,(req,res)=>{
   	let data=req.query;
   	res.send()
   	})

post 方法
express 本身不能解析消息体里的数据
需要通过第三方插件 body-parser 来解析
post 数据格式有2种 x-www-form-urlencode 表单模式
application/json json
不同的数据模式对应不同的解析方式
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
解析代码 应该放到接口的上方

app.post(path,(req,res)=>{
	let data=req.body;
	res.send()
	})
跨域问题
  • 通过第三方插件 cors解决 app.use(cors());
  • 设置头文件信息
  app.all("*",function(req,res,next){
  //设置允许跨域的域名,*代表允许任意域名跨域
  res.header("Access-Control-Allow-Origin","*");
  //允许的header类型
  res.header("Access-Control-Allow-Headers","content-type");
  //跨域允许的请求方式 
  res.header("Access-Control-Allow-Methods","DELETE,PUT,POST,GET,OPTIONS");
      next();
  }

``还有很多方法可以去看node官网文档
  自己用express 写了邮箱登录注册 如有需要的童鞋可以去我的Git账户里下载看看
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值