开发插件

ThinkJS 2.0 里支持 2 种类型的插件,一种是 Middleware,另一种是 Adapter

创建插件

可以通过下面的命令创建一个插件,插件命令建议使用 think- 打头。

thinkjs plugin think-xxx

执行后,会自动创建 think-xxx 目录,并可以看到类似下面的信息:

  create : think-xxx/
  create : think-xxx/src
  create : think-xxx/src/index.js
  create : think-xxx/test
  create : think-xxx/test/index.js
  create : think-xxx/.eslintrc
  create : think-xxx/.npmignore
  create : think-xxx/.travis.yml
  create : think-xxx/package.json
  create : think-xxx/README.md

  enter path:
  $ cd think-xxx/

  install dependencies:
  $ npm install

  watch compile:
  $ npm run watch-compile

  run test:
  $ npm run test-cov

目录结构

  • src/ 存放源代码,使用 ES6/7 特性开发
  • test/ 单元测试目录
  • .eslintrc eslint 检查配置文件
  • .npmignore npm 发布时忽略的文件
  • .travis.yml travis 持续集成配置文件
  • package.json npm 配置文件
  • README.md 说明文件

安装依赖

npm install --verbose

开发

代码文件为 src/index.js,默认生成的文件只是一个基本的类输出,没有继承任何类。

如果是 Middleware,需要继承 think.middleware.base 类。如果是 Adapter,需要继承 think.adapter.base 类。

开发过程中,可以在命令行下执行 npm run watch-compile,这样文件修改后就会立即编译。

单元测试

test/index.js 文件书写相关的单元测试,测试框架使用的是 mocha,可以通过下面的命令查看单元测试结果。

npm run test-cov

说明文档

代码开发和单元测试完成后,需要在 README.md 里书写详细的说明文档。

发布

可以通过 npm publish 发布模块到 npm 仓库里(如果之前没发布过,会提示创建帐号和密码)。

发布完成后,可以联系 ThinkJS-Team,经确认无误后,可以添加到官方的插件列表中,并领取相关的奖励。

如发现文档中的错误,请点击这里修改本文档,修改完成后请 pull request,我们会尽快合并、更新。