- 博客(7)
- 收藏
- 关注
原创 多语言
客户端通过设置请求头(Accept-Language),请求语言数据 // 已逗号隔开,q为权重,默认第一个权重为1 xhr.setRequestHeader('Accept-Language','ja,zh;q=0.9')服务端拿到请求头(accept-language),进行分割排序,返回对应语言数据 let language = req.headers['accept-la...
2019-11-22 00:17:11
84
原创 防盗链
主要看referer与host是否相同,不相同,说明其他网站在引用。白名单whiteList,设置某些网站可访问权限 let referer = req.headers['referer'] || req.headers['referrer']; if(referer){ let host = req.headers.host.split(':')[0]; refe...
2019-11-22 00:02:10
96
原创 base64编码原理
1、用buffer得到16进制let buffer = Buffer.from('靖');console.log(buffer); // 0xe9 0x9d 0x962、16进制得到2进制(3*8)console.log((0xe9).toString(2)) //11101001console.log((0x9d).toString(2)) //1001110...
2019-11-12 20:22:29
74
原创 发布订阅原理
function EventEmitter(){ this._event = Object.create(null);}EventEmitter.prototype.on=function(eventname,callback){ if(!this._event) this._event = Object.create(null); if(eventname!=="n...
2019-11-11 22:03:34
232
原创 模板引擎原理
核心:通过正则匹配替换字符串,whit用法 去实现。例如ejs中<% %> <%= %>let fs = require('fs');let path = require('path');let str = fs.readFileSync(path.resolve(__dirname, 'index.html'), 'utf8');function ren...
2019-11-09 15:43:56
97
1
原创 commonJs规范原理(简版)
1、要先将 filename的文件转化为绝对路径2、读取这个文件,需要增加一个匿名函数(exports ,require,module,__filename,__dirname) 函数内部需要返回module.exports3、让函数执行4、new Module 创建模块,根据文件名绝对路径创建(exports id)5、module.load 加载模块 Module._exte...
2019-11-09 15:37:36
98
转载 js分享
html部分:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta htt...
2019-04-03 11:24:22
320
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人