
NodeJs/Express/Koa
爱开车的彬哥
这个作者很懒,什么都没留下…
展开
-
浅谈Koa洋葱模型
我们已经知道 koa2 中间件是基于async/await 实现的,其执行过程是通过next来驱动的,于是,koa2 就有了一个特殊的执行顺序,我们为这种执行顺序设定了一个模型叫–洋葱模型。现在假想,你手里有一支牙签,横向穿过一个洋葱,是不是会层层穿透?从第一层进去、到第二层、第三次…然后到中间层后,再层层穿透的出,从第三层出、第二层、第一层…。其实我们的koa2中间件执行顺序也是这样的。抛开业务代码,用koa2官网的一个例子做实验const Koa = require('koa');const转载 2021-03-21 02:06:34 · 661 阅读 · 0 评论 -
Vue / React /浏览器中全局获得 nodejs 环境进程 process 变量
配置目标在开发过程中经常在node环境中配置 process 配置以判断开发环境,除了 process.env.NODE_ENV 在vue中获取,由于浏览器脱离了node环境使得无法使用node中的一些模块,包括 process等信息,在浏览中获取process 对象会得到一个奇怪的对象。plugins 配置webpack 提供了一个 DefinePlugin 的插chaji...原创 2020-03-10 10:28:04 · 3152 阅读 · 0 评论 -
PM2 部署 ecosystem.json 配置
一、node项目部署流程 二、配置部署脚本文件 在项目根目录添加pm2的部署脚本文件 ecosystem.json { "apps": [ "name": "movie", //对应Nginx上的配置 "script...原创 2020-12-22 17:21:15 · 783 阅读 · 0 评论 -
nodejs 请求库 superagent response 中文乱码解决办法
superagent 库安装与使用yarn add superagentconst superagent = require('superagent')const headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36', 'Conte原创 2020-11-14 14:56:29 · 540 阅读 · 0 评论 -
Nodejs 通过子进程模块 child_process 获取 git 信息(分支,标签)
child_processchild_process 模块提供了衍生子进程的能力,用于在node 环境中执行子进程和其他操作,比如执行.cmd, .bat 和 shell 脚本。Node.js v12.13.0 文档 child_process这里可用 API child_process.exec(command[, options][, callback]) 和 child_proces...原创 2019-10-29 15:53:26 · 6014 阅读 · 3 评论 -
小程序发送模版消息之 nodejs 实现
功能分析现需要实现一个用户报名成功通知到功能,管理员在后台审核之后,会通过用户的申请,同时发送小程序报名成功的模版消息到用户的微信上。首先需要分析一下微信发送模版消息的接口//模版消息的结构let opts = { touser: param.openid, //目标用户的openid template_id: templ...原创 2018-11-13 18:23:39 · 1139 阅读 · 0 评论 -
Nginx 配置https 和 node多服务配置
准备工作下载 SSL证书文件安装了 nginx 的服务器你的域名已经解析到目标服务器证书安装以腾讯云为例,SSL 的证书文件可以在你的控制台SSL管理后台查看并下载。其他服务器配置可以参考 ssl证书安装指引下载证书并解压 得到下列文件夹,将 nginx 文件夹之外的 其他不用的文件删除。将 Nginx 文件夹用 scp 工具上传到你的服务器 ,windows上可以用 ...原创 2018-11-10 17:08:20 · 1350 阅读 · 0 评论 -
n 模块切换 node 版本无效的解决办法
问题概述全局安装 n 模块npm install -g n安装最新稳定版 node 版本n stable这样就安装到最新版本。使用 n 切换版本n # 出现 node/8.12.0ο node/11.0.0选择 11.0.0 版本回车,node -v# 8.12.0解决办法百度 + Google = node的安装目录和 n 默认的路径不一样查看 ...原创 2018-10-31 11:23:37 · 17919 阅读 · 2 评论 -
DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version
Node连接Mongoose抛出一个警告:mongoose版本: “^5.2.12”(node:6592) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useN...原创 2018-09-19 16:57:36 · 8015 阅读 · 0 评论 -
Express Nginx 502 Bad Gateway 排错
问题描述在服务器使用 pm2 nodejs进程工具启动express服务器,在浏览器使用get请求时出现:502 Bad Gateway在服务器终端使用curl 模拟本地请求请求被拒绝curl: (7) Failed to connect to localhost :Connection refused转发端口检查Nginx服务器配置是否绑定Express服务的端口.检查 n...原创 2018-09-19 14:19:24 · 2356 阅读 · 0 评论 -
node爬取网页gbk2313乱码解决办法
使用http模块爬取某个网页出现����25�˵���<的乱码 查看网页源码的meta<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />解决办法: 安装 iconv-lite 模块 iconv-litenpm install iconv-lite代码/原创 2018-08-30 10:27:45 · 3506 阅读 · 0 评论 -
使用Vue配合Express框架构建SPA应用遇到的"Access-Control-Allow-Origin"问题
问题:Access-Control-Allow-OriginAccess to XMLHttpRequest at 'http://127.0.0.1:3000/api/xxx?page=1' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origi...原创 2018-09-04 14:36:08 · 941 阅读 · 0 评论 -
对node工程进行压力测试与性能分析
上周在系统上线前,为了看下系统能承受多大的并发和并发下的负载情况,进行了一轮压测。在压测过程中,发现服务器的cpu飚的的非常高,而tps,接口耗时、服务可用等都是正常的,卧槽,这就奇了怪了,自己想了半天也没想出为啥,不得已求助了大佬,大佬说先查看 cpu processor what?这是啥??虽然听不懂,但可以查嘛╭(╯^╰)╮,可还没等我查出来,大佬直接上手,一顿骚操作,便找出了原因~ 这着...转载 2018-08-28 11:22:46 · 7671 阅读 · 0 评论 -
解决413 Request Entity Too Large报错处理
在客户端往node服务器上传大图的时候出现413 Request Entity Too Large经过查阅,需要修改nginx的nginx.cong配置,linux在安装目录下找到nginx.conf,使用vim进行编辑,在http中找到client_max_body_size,如果没有就需要加入 client_max_body_size 2m; #2m或者以上最大支持的文件大小...原创 2018-08-08 15:05:21 · 1881 阅读 · 0 评论 -
nodejs虚拟机
NodeJS 中有一个名为 vm 的包,用来创建运行 NodeJS 代码(JavaScript, ECMAScript)的虚拟机。var vm = require('vm');这个vm的方法不多:vm.Scriptvm.createScriptvm.createContextvm.runInDebugContextvm.runInCont...转载 2018-07-21 10:39:38 · 1110 阅读 · 0 评论 -
nodejs event模块
在Node.js中,很多对象都会发出事件。比如,fs.readStream打开文件时会发出一个事件。所有发出事件的对象都是events.EventEmitter的实例,可以通过require("events");获得event模块。通常,事件名采用“驼峰式”命名方式,但是,并没有严格规定。这只是推荐的命名方法。函数可以添加给对象,对象发出事件时,对应函数就会被执行。这些函数被称作监听...转载 2018-07-25 13:43:42 · 344 阅读 · 0 评论 -
node上的__dirname和./的区别
概要Node.js 中,__dirname 总是指向被执行 js 文件的绝对路径,所以当你在 /d1/d2/myscript.js 文件中写了 __dirname, 它的值就是 /d1/d2 。相反,./ 会返回你执行 node 命令的路径,例如你的工作路径。有一个特殊情况是在 require() 中使用 ./ 时,这时的路径就会是含有...转载 2018-07-05 09:53:19 · 1676 阅读 · 0 评论 -
node之nodemon的简单配置和使用
在之前我们每次修改完node代码之后都需要重启服务器才能完成修改,现在nodemon来了,这是一个监听node代码变化的工具,会自动完成node服务器和数据库服务器的重启,本篇博文简单介绍nodemon的安装和使用。安装 具体的介绍可以从npm官网https://www.npmjs.com/package/nodemon看到, 首先进入你的项目根目录,使用npm命令全局(-g)安装:...原创 2018-06-13 10:14:39 · 21565 阅读 · 0 评论