Node API 经验与种子项目分享 (一)项目综述 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liux466713
V2EX    Node.js

Node API 经验与种子项目分享 (一)项目综述

  •  
  •   liux466713 2018-01-25 19:00:20 +08:00 4203 次点击
    这是一个创建于 2841 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    基于本人在现在公司的 Node 微服务实践, 不断维护升级着一个 Node Restful API 种子项目, 特此共享出来以供借鉴和讨论. 项目中几乎所有的东西都使用了 node/Javascript 及相应模块的最新功能, 语法, 和实践.
    如果你需要的是一个大而全的框架, eggjs 应该是很好的选择. 如果你动手能力强, 追求自由灵活, 并且不排斥 express, 那可以试试采用我这个项目.

    项目 github 仓库地址, 欢迎 star: https://github.com/xiaozhongliu/node-api-seed
    下面先贴一下我在 github 上对项目的综合描述, 完了在下一篇帖子会一一展示项目的各个方面, 至于怎么实现的可以看源码, 相信你会喜欢上我干净简洁, 层次清晰, 与时俱进的代码风格的.

    综述

    Techs involved

    (V2EX 貌似不支持 MD 的表格语法, 去 github 上看吧)
    |Aspect |Tech | |:--- |:--- | |web fx |express | |task |node-schedule | |db postgres|sequelize | |db mongodb |mongoose | |memcache |node_redis | |http client|axios | |logger |log4js-node | |mailer |nodemailer | |dashboard |express-status-monitor | |jwt auth |jsonwebtoken | |validation |express-validator | |async flow |async/await of ES7 | |log auth |http-auth | |js checker |eslint | |proc mana |pm2 |

    Other features offering

    Api access control via ts & token.
    Elaborate api request log into files.
    Flexible declarative request validation.
    Request log online view behind http auth.
    Server status monitor dashboard behind http auth.
    Ready made api samples with jwt and latest js features.
    Centralized system level config & messages management.
    Reasonable multi-env config merging mechanism.
    Definite DRY, SRP, AOP, ES6/ES7, OCD, etc.

    Npm commands usage

    cnpm i # install all packages for dev env npm start # run service in dev env, or hit F5 to debug in vsc npm run pm2start # host via pm2 in prod env npm run pm2startqa # host via pm2 in qa env npm run pm2starttest # host via pm2 in test env npm run pm2restart # restart hosted service in prod env npm run pm2restartqa # restart hosted service in qa env npm run pm2restarttest # restart hosted service in test env npm run pm2stop # hang up hosted service npm run pm2delete # remove hosted service 
    2 条回复    2018-01-27 18:04:32 +08:00
    strugglexiang
        1
    strugglexiang  
       2018-01-27 12:50:55 +08:00
    github 上的英文都是大佬您写的吗?都这么厉害
    liux466713
        2
    liux466713  
    OP
       2018-01-27 18:04:32 +08:00
    @strugglexiang 是我写的, 可是大佬是谁?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5728 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 06:19 PVG 14:19 LAX 22:19 JFK 01:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86