前言 -- 上周有幸和淘宝前端团队的七念老师做了一些NodeJS方面上的交流(实际情况其实是他电话面试了我╮(╯-╰)╭),我们主要聊到了我参与维护的一个线上NodeJS服务,关于它的现状和当下的不足。他向我提出的一些问题带给了我很大启发,尽管回答的不是很好。问题大意是,对于你...
中国诗词写入mongodb
原项目地址:https://github.com/chinese-poetry/chinese-poetry 将其json写入mongodb 代码如下: const fs = require('fs') const path = require('path'); const mongoose = require('mongoose'); const option = { reconnectTries: Number.MAX_VALU...
koa2处理get,post参数的常见方式
koa2处理get,post参数的常见方式 举几个常见的例子 url显示传参 根据文章id获取这篇文章的内容 url:https://www.ningto.com/post/5b8f371ce1d77b114b42306a 路由: app.use(route.get('/post/:id', Posts.show)) 处理: module.exports.show = asyn...
http升级到https
环境:腾讯云服务,nodejs服务,nginx反向代理 获取证书 获取证书有多重途径,我是在腾讯云申请免费版DVSSL证书(一年期限) 登录腾讯云 选择云产品->域名与网站->SSL证书管理->申请证书 上传证书 根据不同服务器选择相应的证书文件,我用的是nginx。 如将1_...
腾讯云服务器CVM上部署nodejs服务
之前使用的阿里云快到期的,了解了下腾讯云价格比较合算而且对新用户有代金券,选了一个云服务器CVM,主机类型是标准型S2,配置1核 1GB 1Mbps普通云硬盘,买了三年的总共1080元,再加上满1000元有500元的代金券可以使用,所以实际花费了580元就可以使用三年了,感觉蛮划算的。 ...
nodejs批量ping
在一批大量的ip地址之中查找哪个地址是有效的并且应答的时间最快 nodejs中可以使用net-ping模块 ip地址所在的json文件格式如下,只粘贴部分信息,文件名:gui-config.json { "configs" : [ { "remarks" : "德国", "server" : "172.104.155.76", ...
koa2给所有页面渲染全局数据
场景 给我的博客增加显示用户访问量,后台的每个请求访问量都新增1,每个页面的渲染都返回当前访问量计数。 捕捉每次请求 在所有路由之前新增 app.use(async (ctx, next) => { const totalhit = await Extends.addHit(ctx.path); ctx.state = Object...
nodejs下载图片保存到本地
我们经常在使用别人图片url的时候发现图片显示不了,很可能对方做防盗链处理。在浏览器端有这个限制但是在后端就没有这个问题了。所以我们可以通过图片的url在服务端将这个图片下载下来保存在服务器上,然后客户端去访问我们自己的服务器,为了保证最小的改动,最好是保持原来...
fetch跨域post,后端express
使用fetch中的post方法进行跨域请求,前提是后端是我们自己写的,比如用的框架是express。首先在express中设置支持跨域,然后使用fetch的时候注意参数的填写。这里我们向后端post json数据。 fetch post写法如下 export function postData(url, json) { return fetc...
nodejs根据url下载图片存储到当前目录
nodejs根据url下载图片存储到当前目录 开发的过程中有时候需要一些图片资源,但是在浏览器上输入url一个一个的去下载太慢了 使用nodejs很简单就可以把它们下载到本地目录并且保存原始的名字 。 模块安装: > npm install request --save var request = req...
网页聊天气泡效果实现
模板 收发消息模板(使用ejs),可以认为发消息在右边显示,收消息在左边显示。 每条消息有三部分组成:头像、名字、聊天内容。 头像和名字垂直布局,尖角和消息水平布局,消息整体水平布局,左边消息左对齐,右边消息右对齐,最后是调整各元素之间的间距。 ...
electron demo
![electron demo实例](http://img.blog.csdn.net/20160807112955997) 用electron框架做的一个demo程序,调用的数据来自showapi中的接口。 1. 入口main.js 在app on ready回调中初始化菜单,主窗口,托盘,主页面index.html const electron = require('electro...
nginx配置nodejs服务二级域名
目前有一个域名sanjiadian.net在它的基础上增加几个二级域名,通过二级域名访问新的nodejs服务。 增加二级域名 在阿里云中的域名服务中找到sanjiadian.net域名点击后面的解析,添加解析,tools,api,chat就是二级域名 ![二级域名列表](http://images.ningto.com/o_1bd8...
nodejs项目热更新 github webhooks
当本地有代码通过git上传后,服务器收到github代码变更的通知,然后调用脚本拉取(git pull)最新的代码,最后重启程序(如:pm2 restart myproject)。所以只要通过git push完成后部署的程序就会自动热更新。 在github中对项目进行设置 打开项目,如:nodeblog 点击Setting...
mongoose分页查询
PAGE_COUNT:每个页面的item数 page:当前页面标号 schema.find(query) .skip(PAGE_COUNT (page - 1)) .limit(PAGE_COUNT) .sort({ _id: -1 }) .exec(); ...
DeprecationWarning: Mongoose: mpromise (mongoose's default promise library) is deprecated
去掉这个警告的方法: --- var mongoose = require('mongoose'); mongoose.Promise = global.Promise; ...
ubuntu上安装最新版nodejs
如:当前版本是v6.9.2 > curl -0 https://nodejs.org/dist/v6.9.2/node-v6.9.2.tar.gz tar -xzvf node-v6.9.2.tar.gz cd node-v6.9.2 ./configure make make install ...