随笔分类 -  node

摘要:前言 在node.js web框架中使用sequelize来作为ORM是十分方便的。但是,有的时候我们需要用到子查询语句,使用sequelize无法完成需求。这时候, 如果你的查询语句不是很复杂,可以使用sequelize提供的query()方法直接执行生成的sql语句。 如果你的查询语句很复杂,但 阅读全文
posted @ 2020-06-19 17:49 落叶&不随风 阅读(1880) 评论(2) 推荐(0)
摘要:前言 使用七牛上传前一般需要创建PutExtra对象,在使用FormUploader上传时作为参数传入 实例 nodejs为例 // 使用Promise封装一下 new Promise((resolve, reject) => { let putExtra = new qiniu.form_up.P 阅读全文
posted @ 2020-06-19 17:02 落叶&不随风 阅读(1122) 评论(0) 推荐(0)
摘要:前言 使用 npm包 ssl-validator 来获取证书的域名、有效期等信息。 代码 const sslValidator = require('ssl-validator'); const SSLData = require('./data'); //引入你的证书信息 csr key (asy 阅读全文
posted @ 2020-06-09 18:20 落叶&不随风 阅读(184) 评论(0) 推荐(0)
摘要:前言 ES6中添加了箭头函数,可以更方便绑定this作用域了 O.o 至于使用,我觉得一个实例就够了 我不信看完还有不会用的 实例代码 const x = 1; this.x = 4; // this default {} global.x = 2; let fun1 = () => { conso 阅读全文
posted @ 2020-06-05 10:50 落叶&不随风 阅读(339) 评论(0) 推荐(0)
摘要:前言 记录一下ORM Sequelize升级到v5的过程中涉及到的几个地方。 升级v6和v5 差别不大。 记录 升级命令 $ npm i sequelize@5 操作符替换(Operator) v4是v3与v5的过渡版本,到了v5版本 $ 操作符已经被删除 v5操作符将 $ 操作符替换为了 Op 操 阅读全文
posted @ 2020-05-21 10:37 落叶&不随风 阅读(716) 评论(0) 推荐(0)
摘要:前言 array-flatten用于对数组进行降维. 使用 const { flatten } = require("array-flatten"); // 降维数组 console.log(flatten([1, [2, 666, [3, [4, [5], 6], 7], 8], 9])); 附录 阅读全文
posted @ 2020-05-19 16:38 落叶&不随风 阅读(504) 评论(0) 推荐(0)
摘要:前言 大多时候,我们希望使用请求头中的Accept字段来确定我们接口返回的数据类型,来满足不同格式需求的调用者(防止解析错误)。 当然还有 字符集、编码、语言等等。 使用accepts包我们就可以解决这个问题。 如果没有符合的数据类型,就直接返回 HTTP 406 "Not Acceptable" 阅读全文
posted @ 2020-05-18 17:13 落叶&不随风 阅读(423) 评论(0) 推荐(0)
摘要:前言 在看完Express框架源码后,决定搭建一个自己的Express自定义框架。 为了更好的理解Express框架,也更容易以后修改源码。 自定义框架布局 使用es6语法和class关键字声明方式编写 由于是简洁的框架,所以省去了req、res添加的方法和属性,还有app.param、app.se 阅读全文
posted @ 2020-05-13 17:54 落叶&不随风 阅读(228) 评论(0) 推荐(0)
摘要:前言 简单封装一下万维易源归属地查询接口,因为官方文档已经写的很好了。 代码 官方文档 nodejs实现为例 const showapiSdk = require('showapi-sdk'); module.exports = api = { getLocalInfoByShow: async f 阅读全文
posted @ 2020-05-09 10:40 落叶&不随风 阅读(991) 评论(0) 推荐(0)
摘要:前言 使用七牛作为CDN非常方便,但是有的时候上传会出现超时、挂起等问题导致上传失败,尤其是海外存储区域。我们可以简单修改一下他们的上传域名来解决,例如将服务器端上传地址临时改为客户端上传地址使用。 错误 ResponseError socket hang up (req "error"), POS 阅读全文
posted @ 2020-05-08 10:38 落叶&不随风 阅读(786) 评论(0) 推荐(0)
摘要:前言 merge-descriptors用于继承其它对象的属性和属性描述符。 语法 mixin(dest, src, redefine); a 被继承者 b 继承者 true 当继承者存在继承的属性时,是否继续继承 (默认继承 ture) 返回继承后的对象 b (函数执行后b对象已经被重新赋值,可以 阅读全文
posted @ 2020-05-07 09:43 落叶&不随风 阅读(961) 评论(0) 推荐(0)
摘要:前言 koa-router同时支持Koa1和Koa2,使用风格和Express相似,使用过Express的强烈推荐。 示例 app.js const Koa = require('koa'); const app = new Koa(); const Router = require('koa-ro 阅读全文
posted @ 2020-04-30 09:08 落叶&不随风 阅读(1018) 评论(0) 推荐(0)
摘要:前言 简单封装创建、连接websocket类 代码 封装创建ws类 const websocket = require('ws'); class WebSocket { constructor(options) { this.init(); this.options = options; } ini 阅读全文
posted @ 2020-04-26 09:20 落叶&不随风 阅读(746) 评论(0) 推荐(0)
摘要:#前言 使用阿里云产品,调用API接口一般有两种方式,使用APPCODE或使用ak、sk生成认证签名。 第二种比较复杂,今天记录一下。 #代码 调用阿里云接口,需要在headers中添加签名(X-Ca-Signature字段) 以whois查询接口为例 (http://whois.market.al 阅读全文
posted @ 2020-04-21 09:17 落叶&不随风 阅读(1714) 评论(0) 推荐(0)
摘要:前言 宝塔是一款服务器管理软件,非常方便linux新手和运维人员使用。 为了实现自动化管理,我们需要调用宝塔的接口API。 接口API 以nodejs为例,其它语言可参考宝塔官方API文档 const md5 = require('md5'); (async () => { try { const 阅读全文
posted @ 2020-04-20 10:12 落叶&不随风 阅读(5790) 评论(2) 推荐(0)
摘要:前言 nvm可以轻松地安装、下载、删除、切换node版本,帮助我们更好的管理node版本。 安装 ##windows 在github官网nvm-windows下载安装包 nvm-setup.zip,解压后直接运行nvm-setup.exe安装即可。 linux $ curl -o- https:// 阅读全文
posted @ 2020-04-17 16:33 落叶&不随风 阅读(882) 评论(0) 推荐(0)
摘要:前言 使用百度云产品,文档中,需要生成认证签名. 代码 调用百度云接口,需要在headers中添加签名(X-Bce-Signature字段) 以真人度查询接口为例 (http://rtbasia.api.bdymkt.com/ipscore/query) 百度云生成认证字符串文档 const api 阅读全文
posted @ 2020-04-16 14:52 落叶&不随风 阅读(1631) 评论(14) 推荐(0)
摘要:#前言 随着Let’s Encrypt证书的不断流行,大多数网站都开始使用其作为自己的证书。当然,最主要的还是它的申请流程简单且免费! 搜了很久也没找到可以用的,大部分文章都已过时,官方文档也太过简略,无奈只能看源码总结出了部分实现代码,已经尽力把注释写的很详细了。 #代码 使用nodejs实现 使 阅读全文
posted @ 2020-04-16 12:21 落叶&不随风 阅读(545) 评论(0) 推荐(0)