我爱编程

你们要的 Node.js 服务器开源了!

2017-10-13  本文已影响2350人  sprint

前言

之前曾说过要开源一个我自己编写的 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
上一篇下一篇

猜你喜欢

热点阅读