node.js
文章平均质量分 60
samfung09
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Node.js爬取百度图片之解析objURL外加随手写个瀑布流
分析请求地址 先来分析一下请求地址,我搜索的是“古力娜扎” https://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=&fp=result&queryWord=%E5%8F%A4%E5%8A%9B%E5%A8%9C%E6%89%8E&cl=2&a...原创 2019-10-14 22:13:40 · 1701 阅读 · 0 评论 -
koa2中一些常用中间件
Node.js的特点和优势 1、基于chrome V8引擎进行代码解析的JavaScript运行环境。 2、事件驱动, 3、非阻塞IO,IO即输入输出操作,阻塞IO可以理解为被阻塞了的输入输出操作,在服务器端有很多会涉及阻塞IO的操作,例如在读取文件过程中,需要等待文件读取完毕后才能继续执行后面的操作,Node.js中使用事件回调的方式来解决这种阻塞IO情况,避免了阻...原创 2018-05-13 20:18:54 · 482 阅读 · 0 评论 -
NodeJS判断路径是否存在,不存在则创建
原文地址在使用NodeJS的时候,用fs.mkdir直接创建多层路径,如果上级目录不存在,这时会报错,也就是说NodeJS不支持直接创建多层路径,这时就要先把上级目录创建出来。所以我们一般会自己写程序来判断路径是否存在,如果不存在则自动创建该目录,说起来轻松,但其实这时一个挺繁琐的过程。下面看代码/** * 读取路径信息 * @param {string} path 路径 */ functi...转载 2018-07-04 02:40:56 · 24476 阅读 · 6 评论 -
简单实现express框架
只匹配路由 向外暴露一个createApp函数,函数返回一个app对象。声明routes(路由表)存放路由。app.get(),app.post(),app.all()等方法会往routes中添加路由项,createApp函数内部创建一个http服务,app.listen()监听端口。当客户端请求是遍历routes路由表,如果有匹配的路由,则执行该路由项的handler函数。 const h...原创 2018-07-21 03:29:48 · 389 阅读 · 0 评论 -
node.js多线程
用自己语言简单理解一下进程与线程。一台机器上可以同时运行多个程序,每个程序内可以开启多个进程,而每个进程内部又可以有多个线程(有些语言还可以在线程内部有多个纤程,但不具备代表性)。 多进程与多线程基本区别 多进程——重:有独立的存储空间 优点:安全(万一某一进程崩了,其他进程还在工作,不至于程序无法运行),简单 缺点:性能相对低点(开进程开销大) 多线程——轻:同一进程内...原创 2018-08-14 00:06:21 · 2772 阅读 · 0 评论 -
用Node.js简单写个脚手架
1、初始化 创建项目目录sam-cli npm init -y 初始化项目 创建index.js文件 使用node开发命令行工具所执行JavaScript脚本必须在顶部加入 #!/usr/bin/env node 声明该命令行脚本是node.js写的 #!/usr/bin/env node // 使用node开发命令行工具所执行JavaScript脚本必须在顶部加入 #!/usr/bi...原创 2018-09-25 00:10:47 · 2151 阅读 · 5 评论 -
node项目部署阿里云
之前在阿里云买了个云服务器就简单的安装了一下node.js环境,现在做点笔记记录下来 node环境安装 参考文章 mongodb安装 参考文章 以配置文件启动,先在etc目录下创建mongodb.conf touch /etc/mongodb.conf 一份简单的配置文件 # 数据库文件位置 dbpath=/var/mongodb/data # 日志文件位置 logpath=/...原创 2018-05-20 02:09:38 · 652 阅读 · 0 评论 -
canvas压缩图片上传
图片预览 使用html5中FileReader读取文件base64信息 var input = document.querySelector('input'); var preview = document.querySelector('.preview'); input.onchange = function(){ var file = input.files[0]; /...原创 2018-05-12 00:54:54 · 301 阅读 · 0 评论 -
Node.js+socket.io
http无法轻松实现实时应用 http协议是无状态的,服务器只会响应来自客户端的请求,但是它与客户端之间不具备持续连接。 在websocket以前实现的方法 长轮询 客户端每隔很短一段时间就会想服务端发送请求,看是否有新的消息。只要间隔时间够短,就会给人造成交互是实时进行的假象。这种做法是无奈之举,实际上对服务器和客户端都造成了大量的性能浪费。 长连接 顾名思义,客户端与服务端只请求一...原创 2018-07-26 17:58:19 · 245 阅读 · 0 评论 -
用log4js写一个koa2日志中间件
因为是koa中间件,所以最起码要先搭起一个koa服务。 先来介绍一下log4js 安装log4js模块 npm install log4js --save appenders 说白了就是配置打印输出源 type: "type":"console",即为控制台打印,多数用于开发测试。 "type":"file",表示日志输出为普通文件,在此种配置下日志会输出到目标文件夹的目标文件中...原创 2018-11-03 17:46:04 · 3019 阅读 · 1 评论 -
PM2的简单使用
PM2是node进程管理工具,一般用来在服务器端启动以及监测Node.js服务,我的个人博客项目就是用pm2启动的。 安装 安装很简单 npm install pm2 -g 安装之后就可以在项目目录下执行命令启动服务 pm2 start app.js 相当于开发环境中node app.js 一些常用基本命令 停止所有服务 pm2 stop all 查看所有服务 ...原创 2018-11-04 01:24:03 · 1494 阅读 · 0 评论 -
手写koa2
原文地址 koa源码中只有4个文件 application.js:入口文件。 context.js:ctx对象相关。 request.js:请求对象相关。 response.js:响应对象相关。 先来看application.js Koa有一套错误处理机制,需要监听实例的error事件,所以要引入events模块继承EventEmitter。再引入另外三个自定义模块。app.liste...转载 2018-11-11 03:53:14 · 326 阅读 · 1 评论 -
Node.js调用ip接口获取地理信息
最近项目中需要获取访问ip的地理信息。 在网上找了一下,找到了一个阿里云的接口,免费的,登录阿里云购买就行了。 购买之后,在阿里云控制台里就可以看到该项服务的AppKey、AppCode等信息 回到购买页面,看看api使用方法,果然不出所料没有Node.js版本。 没关系,可以点击调试去看看,其实就是用Node发起一个get请求而已,只需配置一下请求头,就像写爬虫一样。 下面看代...原创 2018-11-20 20:00:44 · 1985 阅读 · 0 评论 -
分享几个平时可能会在后端用到的工具函数
生成uuid const uuid = require('uuid'); /** * @method 返回一个唯一符号 */ exports.uuid = function(){ //v1是基于时间戳生成uuid,v4是随机生成uuid return uuid.v4().replace(/\-/g, ''); } md5加盐加密 const crypto = ...原创 2018-11-19 18:04:59 · 278 阅读 · 0 评论 -
jwt原理及简单实现
cookies、session和jwt的一些优缺点 先来说说cookies和session实际应用中的一些不足 【缺点】cookies的安全性不好,攻击者可以通过获取本地cookies进行欺骗或者利用cookies进行CSRF攻击。 【缺点】使用cookies时,在多个域名下,会存在跨域问题。 【缺点】session在一定的时间里,需要存放在服务端,因此当拥有大量用户时,也会大幅度降低服务...原创 2019-01-19 22:25:54 · 1977 阅读 · 0 评论
分享