![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
nodejs
文章平均质量分 67
swimming_in_it_
IT的爱好者,希望找到志同道合之人。
展开
-
Js对象之原型链详解
在刚开始接触js的时候,一直对js中的原型链一知半解,只知道对象的最顶层是Object。Array,Number等类是Object原型链下的子类。下面将以Function对象为例子来说。在使用类的一些公共方法 | 属性 的时候,会使用Funciton.方法名|属性名来进行调用,如果在函数的原型上自定义了一些方法,后期在实例化的对象中可以随便调用定义在Function原型上的方法。而且实例化的对象不...原创 2019-08-03 16:47:02 · 335 阅读 · 0 评论 -
angularjs跨域post解决方案
前端同学李雷和后台同学韩梅梅分别在自己电脑上进行开发,后台接口写好的时候,李雷改动完就把前端代码上传到gitlab,然后在测试机上从gitlab上拉下来,然后在测试机上移动最新代码,最后回到本机刷新页面。有时候碰到网速不好的情况传个git传了半天,或者李雷刚上传完发现少写了一个单词,加上再传上一看尼玛单词又写错了。对于实时需要改动代码的李雷同学而言另外一种方案是李雷和韩梅梅分别在自己电脑上...转载 2018-09-21 15:42:35 · 497 阅读 · 0 评论 -
nodejs中日志的使用
morgan中间件控制台输出 在进行nodejs的express进行开发的时候,一般使用了生成器的话,生成器默认会使用morgan中间件来记录请求信息。但是在使用app.use(logger('dev'));的时候,只会将请求信息打印到控制台,虽然这样方便调试,但是在实际的生产中,日志通常都会记录在日志文件中。具体如下:const logger = require('morg...原创 2018-09-20 11:13:02 · 2775 阅读 · 0 评论 -
微信平台开发之token验证
以前一直做过微信的开发,毕竟微信开发是现在广大程序猿不得不做的一个开发。其中包括微信的支付,微信的oauth登录。但是一直都没有系统的去完成过一个微信的所有开发,略有遗憾。最近自己申请了一个微信的订阅号,下面记录下,微信的Token验证吧。进行微信公众平台的开发,进行token验证是第一步,如下图所示。url填写自己的服务器地址。Token这里可以自定义,但是要和代码中的Token保持一致。...原创 2018-09-15 11:22:09 · 676 阅读 · 0 评论 -
pm2-web
上一篇文章已经讲述了nodejs的进程为什么选择pm2进行管理。https://blog.csdn.net/swimming_in_IT_/article/details/80621016但是在服务器端使用pm2进行管理的时候,因为服务器端的pm2是server版的,无法进行页面观看进程的信息。而pm2-web则是pm2对应的一套后台监控系统。内容非常强大。安装:npm install...原创 2018-09-14 17:14:02 · 1852 阅读 · 0 评论 -
nodejs使用request发送http请求
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dreamer2020/article/details/52074516在nodejs的开发中,有时需要后台去调用其他服务器的接口,这个时候,就需要发送HTTP请求了。有一个简单的工具可以用,Simplified HTTP request client,可以比较方便的模拟请求。安装npm...原创 2018-09-13 19:02:25 · 4219 阅读 · 1 评论 -
Express中的res.json,res.end和res.send
原文链接:https://blog.csdn.net/m0_37263637/article/details/79753342原创 2018-09-13 19:00:01 · 897 阅读 · 0 评论 -
微信第三方授权登录之oauth开发
背景:首先copy下别人讲解的oauth2.0验证授权的一些背景知识: 1) 传统的注册登陆方式:如果你是一个新用户,则点击新用户注册按钮,进入由简书提供的注册页面,进行用户名密码验证和设置然后再回到简书提供的登陆页面,输入刚注册的用户名和密码进行登陆缺点(站在用户的角度): 除非我很想使用该app,否则根本不想花这么多时间进行注册,太麻烦了。 如...原创 2018-09-15 16:22:38 · 4286 阅读 · 0 评论 -
nodejs消息推送之socket.io 与 ws对比
node.js的websocket库目前比较热门的是ws和socket.io。我们对比一下这两个库。一、笔者写这篇文章时,ws的周下载量是4百多万,最近一次更新是11天前,总共98个版本。socket.io周下载量接近2百万,最近一次更新是三个月前。总共110个版本从npm上看,使用ws的比socket.io多很多,活跃度差不多。二、ws客户端不支持浏览器,需要用户自行封装...转载 2018-08-06 11:36:35 · 6708 阅读 · 1 评论 -
mongoose中connect()、createConnection()和connection的区别和作用
1 mongoose简介在使用mongodb数据库开发项目中,nodejs环境下可能会使用到mongoose模块连接并操作mongodb数据库。mongoose模块相当于Java中的数据库驱动,例如mysql-connector-driver-xxx.jar等,大体作用都是连接数据库,对数据库中的表增删改查等。使用方法很简单:npm install mongoose //在项目中安装...转载 2018-07-26 17:39:00 · 2105 阅读 · 0 评论 -
base64介绍和nodejs中的base64编码解码
Base64是什么? base54是网络上常见的用户传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。 什么是“可打印字符”呢?为什么要用它来传输8Bit字节码呢?在回答这两个问题之前我们有必要来思考一下什么情况下需要使用到Base64?Base64一般用于在HTTP协议下传输二进制数据,由于HTTP协议是文本协议,所以在HTTP协议下传...转载 2018-07-19 14:50:35 · 5200 阅读 · 1 评论 -
nodejs之minimist中间件使用
minimist是nodejs的命令行参数解析工具,因其简单好用,轻量等特性,所以用户使用较多。 特性: - short options - long options - Boolean 和 Number类型的自动转化 - option alias 先看一下minimist整体的解析过程,代码大致是:or (var i = 0; i < args.length...原创 2018-07-18 19:18:17 · 1849 阅读 · 0 评论 -
AngularJs中的x下拉列表
angularjs中下拉框select option默认值 jade的实际代码:label 游戏状态:select(ng-model="gm.status" required) option(value="1") 上线 option(value="0") 下线请看上面的代码,chrome打开的时候发现了一个空白的选项,chrome解析出来代码是&原创 2018-07-16 11:36:42 · 336 阅读 · 0 评论 -
crypto-js解密报错malformed utf-8 data
在使用crypto-js进行解密的时候,有可能会报错:Malformed UTF-8 dataError: Malformed UTF-8 data at Object.stringify (d:\StudeyCode\myStudy\encryptDemo\routes\encrypt\crypto-js.js:478:27) at WordArray.init.toS...原创 2018-06-27 15:10:49 · 25736 阅读 · 5 评论 -
js获取时间戳和常用方法总结
js获取时间戳的四种方式第一种//方法1---将毫秒改成000显示var t1 = Date.parse(new Date());console.log(t1);第二种//方法2---获取毫秒级的时间戳var t2 = (new Date()).valueOf();console.log(t2);第三种//方法3---获取毫秒级的时间戳var t...原创 2018-06-27 12:09:13 · 1261 阅读 · 0 评论 -
js中的json操作
一、简介JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。 在JSON中,有两种结构:对象和数组 1、对象以“{”开始,“}”结束,“key/value”之间运用 “,”分隔。 jsonDemo =...原创 2018-06-26 19:40:36 · 262 阅读 · 0 评论 -
Node.js加密算法库Crypto
前言密码技术是互联网应用的一项最基本的技术之一,主要保证了数据的安全。安全定义是多维度的,通过不可逆的hash算法可以保证登陆密码的安全;通过非对称的加密算法,可以保证数据存储的安全性;通过数字签名,可以验证数据在传输过程中是否被篡改。我们要做互联网应用,数据安全性一个是不容忽视的问题。不然可能会造成,如CSDN的100万用户明文密码被泄露事情;携程网,100万用户个人信息泄露事情等。...原创 2018-06-26 15:14:32 · 1486 阅读 · 0 评论 -
js数组操作
声明数组:/* 数组: 1、数组内可以存放任意类型的数据 2、数组元素不赋值,则为undefined 3、打印数组时,如果某个元素没有赋值,则为“” 4、访问数组范围以外的元素时,不会出现越界异常,为undefi...原创 2018-09-27 19:24:37 · 375 阅读 · 0 评论 -
angularJs报错Warning: Tired to load angular more than once
自己正在做一个小网站,使用Angular JS + Express JS + Mongo DB,在开发过程中,遇到一些问题,所以整理出来。希望对大家都有帮助。 这是今天解决的一个问题,Angular JS抛出Warning: Tired to load angular more than once。 前端使用的就是Angular JS,同时前端脚本中我也使用了JQuery。以下...转载 2018-10-12 19:08:55 · 802 阅读 · 0 评论 -
变量提升和闭包
变量提升1,什么是变量提升? 当栈内存栈内存(作用域)形成,JS代码自上而下执行之前,浏览器首先会把所有带 “VAR”/“FUNCTION” 关键词的进行提前 “声明” 或者 “定义” ,这种预先处理机制称之为 “变量提升” =>声明(declare):var a (默认值undefined) =>定义(defined):a=12 (定...原创 2019-02-28 11:15:25 · 474 阅读 · 0 评论 -
js之数据类型转换
JS中的数据类型分为以下两种类型。基本数据类型:数字 number,字符串 string,布尔 boolean,空 null,未定义 undefined引用数据类型: 对象 object:普通对象,数组对象 (Array),正则对象 (RegExp),日期对象 (Date),数学函数 (Math 函数 function真实项目中,根据需求,我们往往需要把数据类型之间进行转换...原创 2019-02-22 15:24:18 · 508 阅读 · 0 评论 -
nodejs之buffer
最近一直对JS中的二进制数据处理,存在好多疑问。所以就趁机会吧JS中的二进制数据相关知识理理。下面就记录下我最近的看的东西和理解吧,仅限参考。建议读者,按照文章顺序阅读,要不然中间掺杂的东西容易混。反正我是容易混,哈哈哈。JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer ...原创 2018-12-19 11:54:55 · 345 阅读 · 0 评论 -
nodejs之generator,promise和async
promise:是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。https://blog.csdn.net/swimming_in_IT_/article/details/78350126generator: 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。http://es6.ruanyifeng.com/#docs/gener...原创 2018-12-24 19:36:57 · 279 阅读 · 0 评论 -
JavaScript 之 ArrayBuffer
JS里的ArrayBuffer还记得某个晚上在做 canvas 像素级操作,发现存储像素的数据格式并不是Array类型,而是ArrayBuffer,心想这是什么鬼?后来查了一些资料,发现自己这半年来的JS是白学了,竟然才知道还有这么个东东。首先,这个 ArrayBuffer 类型化数组,类型化数组是JavaScript操作二进制数据的一个接口。最初为了满足JavaScript与显卡之间大量...转载 2018-12-17 17:26:34 · 537 阅读 · 0 评论 -
js之es6对象
Js中的对象和c++,Java中的不一样,在Js中是使用原型(prototype)来创建对象的实例。在es5中,Js的类操作都是通过原型的构造函数来实现的,继承通过原型链来实现。理解起来比较复杂。但是在es6中引入了class关键字用来创建类,这样的概念让用户理解起来就非常方便了,至于es5中的原型和原型链,后来有时间的话,我会再更新一篇对应的文章。本文主要介绍es6中的class,读者需要对 对...原创 2018-12-27 20:43:21 · 584 阅读 · 2 评论 -
js之String字符串操作
JavaScript的字符串就是用''或""括起来的字符表示。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识。例如:'I\'m \"OK\"!';//输出:I'm "OK"!具体的转义的特殊字符如下图: 字符串也可以是对象。通常, JavaScr.原创 2018-12-26 19:18:43 · 1058 阅读 · 0 评论 -
js之数据类型
js中的数据类型主要分为以下几个:1,基本类型:数字(Number),字符串(String),布尔(boolean),null,undefined。Symbol(es6)2,引用类型:数组(Array),对象(Object),Set和Map(es6)其中Symbol,Set和Map是es6中新增的数据类型在本文后面会讲到,本文主要是讲述es6之前的数据类型。1,Underfined...原创 2018-12-26 18:20:27 · 268 阅读 · 0 评论 -
12个JavaScript技巧
在这篇文章中将给大家分享12个有关于JavaScript的小技巧。这些小技巧可能在你的实际工作中或许能帮助你解决一些问题。使用!!操作符转换布尔值有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值。为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单。对于变量可以使用!!variable做检测,只要变量的值为:0、null、" "、und...转载 2018-12-26 14:57:49 · 229 阅读 · 0 评论 -
nodejs之process对象
前面的话 process对象是一个全局对象,在任何地方都能访问到它,通过这个对象提供的属性和方法,使我们可以对当前运行的程序的进程进行访问和控制。本文将详细介绍process对象 概述 process是一个全局对象,即global对象的属性,可以在任何地方直接访问到它而无需引入额外模块console.log(process === global.process);//tr...转载 2018-12-19 16:06:34 · 365 阅读 · 0 评论 -
Nodejs特性和适用场景
一. NodeJS的特点 Node.js是一个基于Chrome JavaScript运行时的平台,可轻松构建快速,可扩展的网络应用程序。 Node.js使用事件驱动的非阻塞I / O模型,使其轻量级和高效,非常适合在分布式设备上运行的数据密集型实时应用程序。主要包含以下三个特性。(1)单线程 在Java、PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线...转载 2018-11-15 18:38:31 · 607 阅读 · 0 评论 -
nodejs promise之Q模块
Q实现promise的常用方法有7个,在不同情况下使用不同的方法,主要分为数据封装,同步封装和异步封装。1,将数据封装成promise。var Q = require('q');var fs = require('fs');var colors = require('colors');//将数据封装成promise//特点:封装一个数据,调用then直接得到该数据Q('hell...原创 2018-11-15 16:34:38 · 576 阅读 · 0 评论 -
nodejs调用微信接口返回47001错误
在公司开发的时候,做了一个评论区,在评论区中需要对用户发表的评论内容做一定的过滤。经商量决定还是使用微信的msgSecCheck接口来过滤吧。在进行接口调用的时候,我自己使用接口测试工具的时候,是可以正常获取结果的。但是在使用http.request进行接口数据传输的时候,一直返回的就是47001错误。在网上评论大概有以下几种原因。传送的json错误。在json的错误这里。错误有两个: ...原创 2018-11-05 16:12:40 · 1369 阅读 · 0 评论 -
angularJs+NodeJs进行文件下载
前提:1,后台nodejs在对应的接口中返回,需要下载的文件的二进制数据流。2,前台使用angularJs进行文件下载。在下载的时候,使用Blob进行数据接收。后台路由实现:let fileName = req.query.fileName, dirFile = path.join(__dirname,'../config/JsPatchFile/'+fileName),...原创 2018-11-07 14:14:56 · 759 阅读 · 2 评论 -
nodejs消息推送之ws
nodejs服务器端,如何消息的类型为test就返回消息,反之则群发:const WebSocket = require('ws');const wss = new WebSocket.Server({port:3030})const connection = {}wss.on('connection',ws => { ws.on('message',message =...原创 2018-10-18 15:00:36 · 4309 阅读 · 0 评论 -
mongoose基本使用
MongoDB是一个开源的NoSQL数据库,相比MySQL那样的关系型数据库,它更显得轻巧、灵活,非常适合在数据规模很大、事务性不强的场合下使用。同时它也是一个对象数据库,没有表、行等概念,也没有固定的模式和结构,所有的数据以文档的形式存储(文档,就是一个关联数组式的对象,它的内部由属性组成,一个属性对应的值可能是一个数、字符串、日期、数组,甚至是一个嵌套的文档。),数据格式就是JSON。介绍了M...原创 2018-06-18 14:41:13 · 1580 阅读 · 0 评论 -
crypto-js接口加密方式
在进行项目中的的借口设定的时候,往往都需要对接口采用一定的加密方式。本文中将介绍一下crypto-js.js的加密方式。而crypto-js.js就是一个前端加密库,你可以把它当做一个前端插件来引用即可。详细介绍:点击打开链接 本项目中使用express开发,前后台均使用crypto-js.js来进行加密解密处理。对于才开始的时候,我想使用的是前台的crypto-js来进行数据...原创 2018-06-25 11:41:21 · 1792 阅读 · 0 评论 -
BSON的介绍以及和JSON的区别
BSON(Binary Serialized Document Format) 是一种二进制形式的存储格式,采用了类似于C 语言结构体的名称、对表示方法,支持内嵌的文档对象和数组对象,具有轻量性、可遍历性、高效性的特点,可以有效描述非结构化数据和结构化数据。BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有...原创 2018-06-17 15:14:07 · 1530 阅读 · 0 评论 -
Sequelize 和 MySQL 对照
Sequelize 和 MySQL 对照如果你觉得Sequelize的文档有点多、杂,不方便看,可以看看这篇。在使用NodeJS来关系型操作数据库时,为了方便,通常都会选择一个合适的ORM(Object Relationship Model)框架。毕竟直接操作SQL比较繁琐,通过ORM框架,我们可以使用面向对象的方式来操作表。NodeJS社区有很转载 2017-10-15 17:37:25 · 500 阅读 · 0 评论 -
mime.lookup报错
在使用nodejs中的mime模块处理静态文件的时候,出现mime.lookup的错误,具体错误如下:mime.lookup is not a function at E:\nodeJs\koa\koa2\MVVM\static-files.js:11:42 at 原因是:mime 2.x.x 版本修改了函数名。截图如下:解决办法:查原创 2017-10-14 14:49:08 · 8738 阅读 · 2 评论 -
sublime text3安装和破解以及汉化和nodejs环境搭建
安装sublime:很普通的软件安装,自己一步步安装即可,安装路劲可以自己更改到自己想要的位置。破解sublime:(1):第一种方法,直接打开上述下载的文件直接,输入注册码.txt里面对应的注册码,验证即可。(2):第二种方法,使用注册机注册(我使用的是第一种方式,第二种是我百度下来的,他注册的是sublime 2,我们安装的sublime3,大概流程都一样的)。1)打开注册原创 2017-09-28 10:30:27 · 589 阅读 · 0 评论