全局需要安装gulp,ts-node,typescript库。为了更好的理解改项目,改项目的结构将采用UML类图表示,如果不熟悉的开发可以跳转到UML学习进行学习。
types.ts:用于记录IOC标识符
inversify.config.ts:用于进行IOC注入
gulp.ts:利用ts-node支持基于TypeScript的Gulp脚手架
如果需要调整配置文件的根文件夹路径请在引用Config模块前使用如下代码进行调整:
process.env["NODE_CONFIG_DIR"] = __dirname + "/configDir/";
当然为了保证开发、测试和生产环境下能够支持不同的配置文件,默认为开发环境,如果需要修改请在引用Config模块前使用如下代码进行调整:
process.env.NODE_ENV = "stage";
当然在实际使用中,都是通过环境变量设置即可:
NODE_ENV=stage
那么读取的配置文件将会是如下文件:
default-stage.json
stage.json
- 配置采用node-config支持
- Redis存储采用node-redis支持
- JWT采用node-jsonwebtoken支持
- MongoDB采用mongoose支持
- MemoryCache采用node-cache支持
- IOC采用InversifyJS支持
- 日志采用node-bunyan配合bunyan-logstash-tcp直接接入现有的
ELK日志体系中 - 异步
MongoDB刷新采用kue支持