前言
之前曾说过要开源一个我自己编写的 Node.js
服务器 由于公司太忙一直没有兑现,今天总算得空整理下代码 并托管至 Github
有兴趣的可移步至: NodeJsServer
背景
去年我和我一个朋友寻思一款产品(具体名字就不说了), 他负责线下推广,我负责产品设计和开发,开发涉及到 Android及微信公众号开发,当然还有我不太擅长的服务器开发。
服务器技术选型上首先想到的是我较为熟悉的 Struts + Hibernate + Spring
技术方案,它们已经很成熟但过于庞大,如果花时间捡起它们倒不如找一个更好的替代方案,我擅长 JavaScript
所以 Node.js
便是首选。
从 Node.js
着手学习到正式部署上线前后经历了大概 20 天左右,Node.js
让我体会到服务器端开发原来也可以这么快乐。
下面开始正题部分,我将罗列出 NodeJsServer
用到的 Modules
及技术点, 涉及到的技术细节本篇文章不会去探讨,有兴趣的可以自己去看源代码。
Modules 清单
1. Promise
2. jpush-sdk (推送)
3. http
4. request
5. validator(数据验证)
6. mysql (数据库)
7. socket.io (长连接)
8. redis (定时任务)
9. moment (时间处理)
技术点清单
1. mysql 事务管理(见:db.js)
2. 数据库查询封装(见:db.js)
2. socket.io 长连接 (见:socket_emitter.js)
3. 请求数据合法性验证 (见:*_validator.js)
4. 微信授权 (见:WXSDKAPI.js)
5. 向公众号用户发送模板消息(见:WXOrderStatusSender.js)
为了保证服务器能正常启动,项目工程未做大的改动,只是删剪了一些敏感信息,启动服务器之前需配置如下信息:
db -> config -> db-config.js
// DB数据库配置文件
'use strict';
module.exports = {
mysql: {
host: '127.0.0.1', // mysql服务器地址
user: 'root', // 数据库用户名
password: '', // 数据库密码
database:'db_recycle', // 用户端数据库
port: 3306 // 端口
}
};
另外 SQL
文件你可以在工程根目录找到.
如有问题请尽量在微信公众号(DevTipss
)文章下评论,私信超时后无法进行回复,所以请尽量留下评论。
欢迎关注个人公众号:DevTipss
DevTipss
网友评论