用于开发 express 服务
基于 babel
进行 es6
语法的转译,在开发时使用 es6
语法,发布时转译为 node
可直接解释的 es5
代码
模版计划:
- es6 开发环境 (babel)
- 模块路由映射 (babel-plugin-module-resolver)
- 自动重载 (nodemon)
- 单元测试 (jest)
- 命令行解析 (argparse)
- 文档生成 (docsify)
- 服务日志 (winston)
├── docs # 文档
│ ├── .nojekyll
│ ├── README.md
│ └── index.html
├── project # 开发目录
│ ├── utils
│ │ ├── arg_parse.js
│ │ └── meta.js
│ └── index.js
├── release # 发布目录
│ ├── utils
│ │ ├── arg_parse.js
│ │ ├── arg_parse.js.map
│ │ ├── meta.js
│ │ └── meta.js.map
│ ├── index.js
│ └── index.js.map
├── test # 测试目录
│ └── start.test.js
├── .babelrc # babel 配置文件
├── .editorconfig # editorconfig 配置文件
├── .gitignore
├── README.md
├── jest.json # jest 测试配置文件
└── package.json
- 所有的项目开发都在
project
目录中进行 release
目录用于转译es6
语法,结构上与project
保持一致,并且额外生成source map
,方便运行调试project/utils/arg_parse.js
用于命令行解析配置,版本信息来源于package.json
test
目录下包含所有测试用例,只需要测试文件以.test.js
作为文件后缀即可,测试同时会输出覆盖率报告,保存在目录下的coverage
目录下.babelrc
文件主要用于转译配置,包含路由映射配置,暂时将@
映射为project
目录,可根据需要添加.editorconfig
文件为 editorconfig 配置文件,需要编辑器支持jest.json
包含测试配置项,其中包含测试用例中的模块映射,这里的模块映射与project
下的模块映射不同,不能混在一起
npm run dev
将使用nodemon
一直监听文件变动,将对入口文件进行自动重载npm run build
将project
目录转译到release
目录,并附带source map
方便查错npm run serve
将开启express
服务npm run test
将开始测试,并输出覆盖率报告到coverage
目录npm run init-docs
将初始化文档服务,主要会覆盖docs
目录下的README.md
文件,即文档服务的首页内容来自整个项目的README.md
npm run serve-docs
将启动文档服务,可进行查看
you are free to make any change
测试用例并非完全局限于 test
目录,现在的配置只要满足 *.test.js
通配的文件都会进行测试
这里只给出了文档服务最基本的配置,更多配置以及插件可以到官网查看 docsify