
node.js
文章平均质量分 56
CaseyWei
感激每个遇见的人
展开
-
(转)使用json-server 的MOCK数据
json-server用于模拟服务端接口数据,可以根据json数据建立一个完整的web服务。一、安装json-servergithub上的json-server地址安装json-servernpm install -g json-server查看版本号,安装成功json-server -v0.17.0二、创建db.json在文件夹下创建一个db.json文件,存放一些数据。{ "posts": [ { "id": 1, "title":原创 2022-03-15 11:20:39 · 546 阅读 · 0 评论 -
(转)Node——fs模块(文件模块),创建、删除目录(文件),读取写入文件流
fs模块.js:/* 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 3. fs.writeFile 写入文件(文件不存在就创建,但不能创建目录) 4. fs.appendFile 写入追加文件 5.fs.readFile 读取文件 6.fs.readdir 读取目录 7.fs.rename 重命名 8. fs.rmdir 删除目录 9. fs.unlink 删除文件 */原创 2020-10-14 10:11:43 · 444 阅读 · 0 评论 -
Node——fs模块(文件模块)stats对象
nodejs使用stats对象来代表一个文件或设备信息,stats对象有如下方法:stats.isFile() 如果是文件返回 true,否则返回 false。 stats.isDirectory() 如果是目录返回 true,否则返回 false。 stats.isBlockDevice() 如果是块设备返回 true,否则返回 false。 stats.isCharacterDevice() 如果是字符设备返回 true,否则返回 false。 stats.i原创 2020-10-14 10:07:08 · 1022 阅读 · 0 评论 -
(转)Koa2——koa-router
配置简单路由引入中间件 配置需要的路由 通过app.use注册路由const Koa = require('koa')const app = new Koa()// 引入koa-router并对其实例化const router = require('koa-router')()// 配置get路由router.get('/get', function (ctx, next) { ctx.body = 'this is a get response!'})// 配置post路由原创 2020-09-29 10:28:41 · 939 阅读 · 0 评论 -
(转)Koa 使用 JsonWebToken(JWT)的解决方案
1. 依赖jsonwebtoken 用于签发、解析 token koa-jwt 用于路由权限控制 koa-bodyparser 用于解析 post 数据2. 创建一个简单的 Token 获取与验证机制导入模块npm install jsonwebtokennpm install koa-jwt npm install koa-bodyparser2.1 获取 Token引入 jsonwebtoken 库,可以根据传入的 json 字符串生成一个 token 信息。客户端可以.原创 2020-09-24 10:42:07 · 487 阅读 · 0 评论 -
mac系统下nodejs中使用bcrypt加密
1.安装bcryptjsnpm install --save bcryptjs使用bcrypt模块的两种方式:sync同步方式实例:var bcrypt = require('bcrypt');router.post('/', checkNotLogin, function(req, res, next){ let password = req.fields.password //生成salt的迭代次数 const saltRounds = 10;原创 2020-09-24 09:31:15 · 386 阅读 · 0 评论 -
(转)koa-jwt——使用详解
简介 github 原文翻译 koa-jwt 主要提供路有权限控制的功能,它会对需要限制的资源请求进行检查 token 默认被携带在Headers 中的名为Authorization的键值对中,koa-jwt也是在该位置获取token 的 也可以使用Cookie来提供令牌 app.use(jwt( { secret: 'shared-secret', passthrough:true })) 通过添加一个passthrough选项来保证始终传递到下一原创 2020-09-23 10:13:15 · 2020 阅读 · 0 评论 -
(转)npx和npm的区别
学习React时,都会普遍感到困惑,大家常常看见的是npx而非众所周知的npmNPM众所周知,npm是Node.js的软件包管理器,其目标是自动化的依赖性和软件包管理。这意味着,可以在package.json文件中为项目指定所有依赖项(软件包),当需要为其安装依赖项时,只要运行npm install,这样就好啦!它还提供了版本控制,即可以指定项目的依赖版本,这样可以在大多数情况下,防止更新破坏项目,或者使用首选版本。NPX另一方面,npx是执行Node软件包的工具,它从 ..原创 2020-09-17 09:24:38 · 858 阅读 · 0 评论 -
(转)JS事件循环和宏任务和微任务
一 进程与线程进程和线程的概念用较为官方的术语描述来说是这样的1.进程是cpu资源分配的最小单位(是能拥有资源和独立运行的最小单位)2.线程是cpu调度的最小单位(线程是建立在进程的基础上的一次程序运行单位,一个进程中可以有多个线程)用LOL来比喻的话(举例子可能不太贴切,因为本人比较喜欢玩lol 所以用这个举例子让自己来加深印象)一个进程就是一局游戏,每一局游戏都要有野怪小兵这些资源;每局游戏都相互独立互不干涉;一个线程就是一个英雄;一局游戏里有多个英雄(一个进程..原创 2020-09-03 17:50:02 · 416 阅读 · 1 评论 -
(转)浏览器中的事件循环机制
网上一搜事件循环, 很多文章标题的前面会加上 JavaScript, 但是我觉得事件循环机制跟 JavaScript 没什么关系, JavaScript 只是一门解释型语言, 方便开发和理解的, 由V8 JIT将 JavaScript 编译成机器语言来调用底层, 至于浏览器怎么执行 JavaScript 代码, JavaScript 管不着也不关心. 因此, “JavaScript事件循环机制”这种说法是不合理的. 事件循环机制是由运行时环境实现的, 具体来说有浏览器、Node等. 这篇文章就先来说说浏览器原创 2020-09-03 17:48:58 · 238 阅读 · 0 评论 -
(转)Node自动重启工具 nodemon
为什么要使用在编写调试Node.js项目,修改代码后,需要频繁的手动close掉,然后再重新启动,非常繁琐。现在,我们可以使用nodemon这个工具,它的作用是监听代码文件的变动,当代码改变之后,自动重启。如何使用nodemon下载cnpm install -g nodemon安装在全局。使用编写代码 app.jsvar express = require("express")var app = express()app.get('/',fun..原创 2020-08-05 19:06:29 · 203 阅读 · 0 评论 -
Mac系统下更新node版本
迭代新项目,需要升级node版本和npm版本,于是记录一下。查看本机当前Node和npm版本node -v npm -v 清除node的cache(清除node的缓存)sudo npm cache clean -f 安装"n"版本管理工具,管理node(没有错,就是n) sudo npm install -g n 更新node版本sudo n stable 更新npm版本sudo npm install npm@latest -g 再查一.原创 2020-06-11 19:30:12 · 265 阅读 · 0 评论 -
node——process.argv讲解
process对象是一个全局变量,它提供当前 Node.js 进程的有关信息,以及控制当前 Node.js 进程。 因为是全局变量,所以无需使用require()。process.argv属性返回一个数组,这个数组包含了启动Node.js进程时的命令行参数,其中:数组的第一个元素process.argv[0]——返回启动Node.js进程的可执行文件所在的绝对路径第二个元素p...原创 2020-01-08 15:43:29 · 1671 阅读 · 0 评论 -
node路经处理模块——path
获取 /路径/文件名/扩展名1.获取路径:path.dirname(filepath)2.获取文件名:path.basename(filename)3.获取扩展名:path.extname(filepath)实例:1.获取所在路径const path=require("path");var filepath='/node/base/path/test.js';console...原创 2020-01-08 15:33:29 · 163 阅读 · 0 评论 -
(转)process.argv总结
process对象是一个全局变量,它提供当前 Node.js 进程的有关信息,以及控制当前 Node.js 进程。 因为是全局变量,所以无需使用require()。process.argv属性返回一个数组,这个数组包含了启动Node.js进程时的命令行参数,其中:数组的第一个元素process.argv[0]——返回启动Node.js进程的可执行文件所在的绝对路径第二个元素p...原创 2020-01-06 16:56:15 · 708 阅读 · 0 评论 -
NodeJs 的几种文件路径
一、挖坑 & 掉坑:缘起一段这样的代码:fs.readFile('./docs/use.md', function (err, buffer) { if (err) { return console.log('error: ', err); } console.log('OK'); });本地运行时一切 OK,线上部署时却死活找不到...原创 2019-10-16 19:48:55 · 123 阅读 · 0 评论 -
express笔记(一)——server.address()
前言在跟这教程学习时,遇到了一处和教程展示内容不相同的地方,后进行修改得以一致,遂进行记录。问题教程中有段代码是这样得var express = require('express');var app = express(); var server = app.listen(8081, function () { var host = server.addr...原创 2019-08-08 19:55:43 · 738 阅读 · 0 评论 -
nodejs中实现路由功能
这篇文章主要介绍了nodejs中实现路由功能,顾名思义,路由指的就是我们要针对不同的URL有不同的处理方式,本文将教你在node.js中实现路由功能,需要的朋友可以参考下初学Node,发现了与自己之前的观点完全不同的场面——你眼中的JavaScript,是干什么用的呢?特效?or 只是与客户端的交互?可以说,JavaScript最早是运行在浏览器中的,然而你要这样想,浏览器只是你提供了一...原创 2019-07-20 01:13:31 · 444 阅读 · 1 评论 -
微信pc端扫码支付前后端流程(Node.js)
大致流程不必须事先微信登录, 后台发送本次交易的数据到微信联合支付接口, 返回一个微信提供的交易二维码url, 将这个url返回给前端 前端将这个地址转换成一个二维码, 并且开启一个轮询(或websocket)向后台查询本次交易是否支付; 后台根据微信的通知状态, 校验签名, 然后更新支付的状态(是否完成支付) 需要准备的, 微信公众账号的appid(注意并非是网页应用的appid), 商...原创 2019-07-06 10:30:09 · 3064 阅读 · 0 评论 -
NodeJs事件驱动和非阻塞机制详解
NodeJs事件驱动和非阻塞机制详解NodeJs强调错误优先因为事件的操作大多数都是异步的方式,无法通过try catch捕获异常 采用错误优先的回调函数NodeJs基本介绍(菜鸟教程)Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。 Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发。 Nod...原创 2019-02-23 14:41:10 · 887 阅读 · 0 评论 -
require和import
ES6标准发布后,module成为标准,标准的使用是以export指令导出接口,以import引入模块,但是在我们一贯的node模块中,我们采用的是CommonJS规范,使用require引入模块,使用module.exports导出接口。不把require和import整清楚,会在未来的标准编程中死的很难看。require时代的模块node编程中最重要的思想之一就是模块,而正是这个思...原创 2019-01-16 11:02:18 · 140 阅读 · 0 评论 -
反编译获取任何微信小程序源码
一、前言最近在学习微信小程序开发,半个月学习下来,很想实战一下踩踩坑,于是就仿写了一个阿里妈妈淘宝客小程序的前端实现,过程一言难尽,差不多两周时间过去了,发现小程序的坑远比想象的要多的多!!在实际练手中,完全是黑盒的,看到人家上线的小程序的效果,纯靠推测,部分效果在绞尽脑汁后能做出大致的实现,但是有些细节,费劲全力都没能做出来。很想一窥源码,查看究竟,看看大厂的前端大神们是如何规避了小程序的各...原创 2018-12-12 14:49:28 · 656 阅读 · 0 评论 -
Node.js 中 __dirname 和 ./ 的区别
stackoverflow 地址概要Node.js 中,__dirname 总是指向被执行 js 文件的绝对路径,所以当你在 /d1/d2/myscript.js 文件中写了 __dirname, 它的值就是 /d1/d2 。相反,./ 会返回你执行 node 命令的路径,例如你的工作路径。有一个特殊情况是在 require() 中使用 ./ 时,这时的路径就会是含有 requir...原创 2018-10-16 16:55:08 · 1379 阅读 · 0 评论 -
清除node_modules 缓存
当清node_modules 出现某一些包错误时候,查不到原因时候,可以适当的清除缓存试试。删掉重新安装rm -rf node_modulesnpm cache cleannpm install原创 2018-09-28 14:52:35 · 7373 阅读 · 0 评论 -
Mac下如何把node和npm卸载干净
用了nvm进行node版本的管理,还是很方便的,各个版本切换自由切换,但是nvm安装的node是在~/.nvm下的,和之前安装的不在一起,有点儿强迫症的我,就想把之前的给卸载了homebrew安装的直接一条命令brew uninstall node官网下载pkg安装包的一条命令sudo rm -rf /usr/local/{bin/{node,npm},lib/node_mo...原创 2018-09-12 11:34:38 · 12252 阅读 · 0 评论 -
npm与cnpm
npm介绍说明:npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等)使用npm安装插件:命令提示符执行npm install <name> [-g] [--save-dev] <name>:node插件名称。 例:npm install gulp-less --save-dev-g:全局安装。 将会安...原创 2018-07-15 17:53:47 · 668 阅读 · 0 评论