安装
npm init
npm install express –save
快速生成项目
npm install -g express-generator
express newApp
基础目录

bin/www
www配置文件,某些插件会把log文件写在这里
public
静态资源文件,需要在入口文件挂载才可以访问
1 | //static是一个虚拟目录 可以直接用 root目录 |
routes
路由文件
views
模板文件,可自定义程度很高 还没有详细了解过,暂时倾向于前后端分离,只写接口在这里
app.js
入口文件,大部分的配置都可以在这里完成
使用插件 cookie jsonparse 这些都需要引用插件实现,模板项目中已经生成了常用的插件
自定义模板
定义路由
Curl接第三方接口
这里使用大淘客的api做的尝试,没有具体项目逻辑想不到应该做什么,另外数据库也还没尝试
demo
https://github.com/Treblex/dataoke-api/blob/master/server/util/CommodityFactory.js
新建一个文件夹放自己的工具类就可以,对文件夹结构没有强制对要求,对应的调用方法在 router/api.js
Request
直接调用request模块就可以,使用方法也非常的简单,符合前端的习惯
1 | const request = require('request'); |
验签
在大淘客的demo中,引用了corypt md5进行加密,这里需要注意不要在引用文件后就立即createHash('md5'),因为每个实例只能进行一次加密,在需要的地方createHash('md5')就可以了
1 | crypto.createHash('md5') |
调用
https://github.com/Treblex/dataoke-api/blob/master/server/routes/api.js
1 | var express = require('express'); |
中间件开发
我的理解是中间件在php中类似于一个base控制器,
1 | class loginBase{ |

像文档中介绍的,其实我们定义的路由也是中间件
我能想到的常用的业务场景就是像上边的 登录检测,用户权限这些
1 | app.use('/api',(res,req,next)=>{ |
End
还没有部署,客户端没写,接口都对了,下面是github仓库
https://github.com/Treblex/dataoke-api
其实遇到一个问题没有解决,request大淘客接口的时候又一个 version参数,这个参数有的接口是1.0.0 有的是1.0.1,而且有过期验证,过期的版本无法使用,对于怎么更新接口版本和过期通知没有太好解决方法,现在version是在factory的每个请求里边写的默认参数