2017年9月21日的文章

一份完整的express4后台配置

nodeJS 设置跨域响应头

分开指定res.setHeader(‘Access-Control-Allow-Origin’, origin); 和res.setHeader(‘Access-Control-Allow-Origin’, ‘*’); 是因为有部分origin我希望能够使用withCredentials: true的方式发送cookie等信息。

nodeJS 文件上传与下载

nodeJS 文件上传 express 下使用body-parser是无法解析multipart/form-data的内容的,如果客户端发来文件内容,使用body-parser中间件是看不到文件的 此时需要引入multer模块,npm install multer -S 客户端使用FormData上传file Object nodeJS文件下载 nodejs 实现下载的方式很多,最简单的一个就是静态化内容。

使用JS动态获取背景颜色

在写vue-music的时候,希望把song-list组件做成向qq音乐那样,背景颜色根据歌单封面变化。 使用canvas 的getImageData可以获取到图片的数据,包括rgba 但是canvas 存在跨域问题。因此服务器端需要设置响应头,并且客户端设置image.crossOrigin = ‘anonymous’ 实现方式如下:

vue-music 兼容性调整

前段时间学习vue的时候做了一个music webapp;对遇到的兼容性问题做一个总结 特性/兼容性 UC QQ Chrome WebView QQ内建 微信内建 filter:

socket.io 的使用

首先配置好服务器 然后客户端需要配置socket 客户端手动断开socket, 使用socket.close(); 手动重连socket.open(); socket监听事件,使用socket.on(); 服务端广播消息,io.emit:广播全部包括自己, socket.broadcast.emit: 广播全部不包括自己 socket.io 实现点对点发送消息 实现方式:在io.on(‘connection’)的时候,所有的socket按照某种关键字保存起来, 比如一个对象oSockets。做{username: socket} 的对应关系。