From b88b3d1eaa75c8eedc0f871d4b585a3634f0c866 Mon Sep 17 00:00:00 2001 From: Auto Doc Publisher Date: Thu, 22 Feb 2018 02:46:45 +0000 Subject: [PATCH] docs: auto generate by ci docs(2.x-advanced-plugin):fix some descriptions (#2111) --- api/Agent.html | 4 +- api/AgentWorkerLoader.html | 2 +- api/AppInfo.html | 2 +- api/AppWorkerLoader.html | 2 +- api/Application.html | 4 +- api/BaseContextLogger.html | 2 +- api/Config.html | 7 +- api/Context.html | 2 +- api/ContextLoader.html | 2 +- api/Egg.html | 2 +- api/EggApplication.html | 4 +- api/EggCore.html | 2 +- api/EggLoader.html | 2 +- api/FileLoader.html | 2 +- api/Helper.html | 2 +- api/I18n.html | 2 +- api/Messenger.html | 2 +- api/Request.html | 2 +- api/Response.html | 2 +- api/Router.html | 2 +- api/app_extend_context.js.html | 2 +- api/app_extend_helper.js.html | 2 +- api/app_extend_request.js.html | 2 +- api/app_extend_response.js.html | 2 +- api/config_config.default.js.html | 2 +- api/config_plugin.js.html | 2 +- api/global.html | 2 +- api/global.html#BaseContextClass | 2 +- api/global.html#Controller | 2 +- api/global.html#Service | 2 +- api/index.html | 2 +- api/index.js.html | 2 +- api/lib_agent.js.html | 2 +- api/lib_application.js.html | 2 +- api/lib_core_base_context_class.js.html | 2 +- api/lib_core_base_context_logger.js.html | 2 +- api/lib_core_context_httpclient.js.html | 2 +- api/lib_core_messenger.js.html | 2 +- api/lib_egg.js.html | 2 +- api/lib_jsdoc_context.jsdoc.html | 2 +- api/lib_jsdoc_request.jsdoc.html | 2 +- api/lib_jsdoc_response.jsdoc.html | 2 +- api/lib_loader_agent_worker_loader.js.html | 2 +- api/lib_loader_app_worker_loader.js.html | 2 +- ...opment@2.2.0@egg-development_agent.js.html | 2 +- ...-development_config_config.default.js.html | 2 +- ...dules__egg-i18n@2.0.0@egg-i18n_app.js.html | 2 +- ...@2.0.0@egg-i18n_app_extend_context.js.html | 2 +- ...0.0@egg-i18n_config_config.default.js.html | 2 +- ...0@egg-jsonp_app_extend_application.js.html | 2 +- ...2.0.0@egg-jsonp_app_extend_context.js.html | 2 +- ....0@egg-jsonp_config_config.default.js.html | 2 +- ...g-logrotator_config_config.default.js.html | 2 +- ...0@egg-multipart_app_extend_context.js.html | 2 +- ...gg-multipart_config_config.default.js.html | 2 +- ....2.1@egg-schedule_app_extend_agent.js.html | 2 +- ....0@egg-security_app_extend_context.js.html | 2 +- ...egg-security_config_config.default.js.html | 2 +- ...egg-session_app_extend_application.js.html | 2 +- ...0@egg-static_config_config.default.js.html | 2 +- ....0@egg-view_app_extend_application.js.html | 2 +- ...@2.0.0@egg-view_app_extend_context.js.html | 2 +- ...0.0@egg-view_config_config.default.js.html | 2 +- ...@egg-watcher_config_config.default.js.html | 2 +- api/node_modules_egg-core_lib_egg.js.html | 2 +- ...egg-core_lib_loader_context_loader.js.html | 2 +- ...les_egg-core_lib_loader_egg_loader.js.html | 2 +- ...es_egg-core_lib_loader_file_loader.js.html | 2 +- ...s_egg-core_lib_loader_mixin_config.js.html | 2 +- ...g-core_lib_loader_mixin_controller.js.html | 2 +- ...s_egg-core_lib_loader_mixin_custom.js.html | 2 +- ...s_egg-core_lib_loader_mixin_extend.js.html | 2 +- ...g-core_lib_loader_mixin_middleware.js.html | 2 +- ...s_egg-core_lib_loader_mixin_plugin.js.html | 2 +- ...s_egg-core_lib_loader_mixin_router.js.html | 2 +- ..._egg-core_lib_loader_mixin_service.js.html | 2 +- ...-core_lib_utils_base_context_class.js.html | 2 +- ...e_modules_egg-core_lib_utils_index.js.html | 2 +- ..._modules_egg-core_lib_utils_router.js.html | 2 +- en/advanced/plugin.html | 114 +++++++++--------- zh-cn/advanced/plugin.html | 2 +- 81 files changed, 143 insertions(+), 142 deletions(-) diff --git a/api/Agent.html b/api/Agent.html index 65274ee1c5..2127d474fe 100644 --- a/api/Agent.html +++ b/api/Agent.html @@ -1156,7 +1156,7 @@
Parameters:
  • gzip {Boolean} - let you get the res object when request connected, default false. alias customResponse
  • nestedQuerystring {Boolean} - urllib default use querystring to stringify form data which don't support nested object, will use qs instead of querystring to support nested object by set this option to true.
  • -
  • more options see https://www.npmjs.com/package/urllib
  • +
  • more options see https://www.npmjs.com/package/urllib
  • @@ -1499,7 +1499,7 @@
    Example

    diff --git a/api/AgentWorkerLoader.html b/api/AgentWorkerLoader.html index 12cb689518..4a6ec5fffd 100644 --- a/api/AgentWorkerLoader.html +++ b/api/AgentWorkerLoader.html @@ -263,7 +263,7 @@

    loadConfig<
    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/AppInfo.html b/api/AppInfo.html index 8e1b61619b..bdbcbd1ab6 100644 --- a/api/AppInfo.html +++ b/api/AppInfo.html @@ -634,7 +634,7 @@

    scope
    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/AppWorkerLoader.html b/api/AppWorkerLoader.html index 9b68992000..109270005f 100644 --- a/api/AppWorkerLoader.html +++ b/api/AppWorkerLoader.html @@ -349,7 +349,7 @@

    loadConfig<
    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/Application.html b/api/Application.html index 08945f3f61..dc42ff7e52 100644 --- a/api/Application.html +++ b/api/Application.html @@ -1620,7 +1620,7 @@

    Parameters:
  • gzip {Boolean} - let you get the res object when request connected, default false. alias customResponse
  • nestedQuerystring {Boolean} - urllib default use querystring to stringify form data which don't support nested object, will use qs instead of querystring to support nested object by set this option to true.
  • -
  • more options see https://www.npmjs.com/package/urllib
  • +
  • more options see https://www.npmjs.com/package/urllib
  • @@ -2100,7 +2100,7 @@
    Parameters:

    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/BaseContextLogger.html b/api/BaseContextLogger.html index 8efb253f41..f6fb1cf54a 100644 --- a/api/BaseContextLogger.html +++ b/api/BaseContextLogger.html @@ -546,7 +546,7 @@

    warn
    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/Config.html b/api/Config.html index 1d7bac4646..62b150a39a 100644 --- a/api/Config.html +++ b/api/Config.html @@ -837,8 +837,9 @@

    configurations are confused to users -{

    -

    }

    +{ + [unexpectedKey]: [expectedKey], +}

    @@ -4799,7 +4800,7 @@

    Properties:

    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/Context.html b/api/Context.html index 1b42129ba7..d3aa8839bc 100644 --- a/api/Context.html +++ b/api/Context.html @@ -1937,7 +1937,7 @@
    Parameters:

    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/ContextLoader.html b/api/ContextLoader.html index 90da879626..629a0dcb99 100644 --- a/api/ContextLoader.html +++ b/api/ContextLoader.html @@ -476,7 +476,7 @@

    parse
    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/Egg.html b/api/Egg.html index a1b84c63dc..22992e9372 100644 --- a/api/Egg.html +++ b/api/Egg.html @@ -616,7 +616,7 @@

    Subscript
    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/EggApplication.html b/api/EggApplication.html index e4ea3f2c33..5dc4aa035f 100644 --- a/api/EggApplication.html +++ b/api/EggApplication.html @@ -2256,7 +2256,7 @@

    Parameters:
  • gzip {Boolean} - let you get the res object when request connected, default false. alias customResponse
  • nestedQuerystring {Boolean} - urllib default use querystring to stringify form data which don't support nested object, will use qs instead of querystring to support nested object by set this option to true.
  • -
  • more options see https://www.npmjs.com/package/urllib
  • +
  • more options see https://www.npmjs.com/package/urllib
  • @@ -3153,7 +3153,7 @@
    Parameters:

    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/EggCore.html b/api/EggCore.html index 075347c7d3..c93fa1761d 100644 --- a/api/EggCore.html +++ b/api/EggCore.html @@ -1962,7 +1962,7 @@
    Parameters:

    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/EggLoader.html b/api/EggLoader.html index 82aa97b60e..14e63424e4 100644 --- a/api/EggLoader.html +++ b/api/EggLoader.html @@ -2786,7 +2786,7 @@
    Parameters:

    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/FileLoader.html b/api/FileLoader.html index f4b2e0973d..42506cd3c4 100644 --- a/api/FileLoader.html +++ b/api/FileLoader.html @@ -695,7 +695,7 @@

    parse
    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/Helper.html b/api/Helper.html index f98c51edef..2f5d6e1480 100644 --- a/api/Helper.html +++ b/api/Helper.html @@ -508,7 +508,7 @@
    Example

    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/I18n.html b/api/I18n.html index a2c1b1d479..3bce49ab9e 100644 --- a/api/I18n.html +++ b/api/I18n.html @@ -259,7 +259,7 @@
    Example

    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/Messenger.html b/api/Messenger.html index 936f956772..fad983b918 100644 --- a/api/Messenger.html +++ b/api/Messenger.html @@ -1164,7 +1164,7 @@
    Parameters:

    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/Request.html b/api/Request.html index 03c6df7deb..6ad79fb99d 100644 --- a/api/Request.html +++ b/api/Request.html @@ -1246,7 +1246,7 @@
    Parameters:

    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/Response.html b/api/Response.html index 7bb795ac83..1dcfd4f293 100644 --- a/api/Response.html +++ b/api/Response.html @@ -243,7 +243,7 @@

    realStatus<
    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/Router.html b/api/Router.html index 77cbc6b3aa..9213374145 100644 --- a/api/Router.html +++ b/api/Router.html @@ -849,7 +849,7 @@

    Example

    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/app_extend_context.js.html b/api/app_extend_context.js.html index c93a51d2d6..fd84d0e36e 100644 --- a/api/app_extend_context.js.html +++ b/api/app_extend_context.js.html @@ -310,7 +310,7 @@

    app/extend/context.js


    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/app_extend_helper.js.html b/api/app_extend_helper.js.html index 4dec5684e2..965fddfa91 100644 --- a/api/app_extend_helper.js.html +++ b/api/app_extend_helper.js.html @@ -104,7 +104,7 @@

    app/extend/helper.js


    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/app_extend_request.js.html b/api/app_extend_request.js.html index 54e1c08aa3..c9b8a9fab8 100644 --- a/api/app_extend_request.js.html +++ b/api/app_extend_request.js.html @@ -330,7 +330,7 @@

    app/extend/request.js


    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/app_extend_response.js.html b/api/app_extend_response.js.html index bc0fb516b0..d066c87659 100644 --- a/api/app_extend_response.js.html +++ b/api/app_extend_response.js.html @@ -134,7 +134,7 @@

    app/extend/response.js


    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/config_config.default.js.html b/api/config_config.default.js.html index 2528763552..b7d392675e 100644 --- a/api/config_config.default.js.html +++ b/api/config_config.default.js.html @@ -386,7 +386,7 @@

    config/config.default.js


    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/config_plugin.js.html b/api/config_plugin.js.html index 7213e13a06..e096278f3f 100644 --- a/api/config_plugin.js.html +++ b/api/config_plugin.js.html @@ -197,7 +197,7 @@

    config/plugin.js


    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/global.html b/api/global.html index 950c37571e..4f8f9344f4 100644 --- a/api/global.html +++ b/api/global.html @@ -1304,7 +1304,7 @@
    Properties

    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/global.html#BaseContextClass b/api/global.html#BaseContextClass index 6ac21c06d2..7657c03831 100644 --- a/api/global.html#BaseContextClass +++ b/api/global.html#BaseContextClass @@ -829,7 +829,7 @@ it's instantiated in context level,
    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/global.html#Controller b/api/global.html#Controller index d9085fa11d..0d9ed54e9f 100644 --- a/api/global.html#Controller +++ b/api/global.html#Controller @@ -448,7 +448,7 @@
    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/global.html#Service b/api/global.html#Service index 37cb232638..a7b78f2aaf 100644 --- a/api/global.html#Service +++ b/api/global.html#Service @@ -448,7 +448,7 @@
    - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
    diff --git a/api/index.html b/api/index.html index cfdf2be307..10b4a7c041 100644 --- a/api/index.html +++ b/api/index.html @@ -67,7 +67,7 @@

    Classes

    • Agent
      • - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/index.js.html b/api/index.js.html index 5d93e4f023..8437f41f76 100644 --- a/api/index.js.html +++ b/api/index.js.html @@ -120,7 +120,7 @@

        index.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/lib_agent.js.html b/api/lib_agent.js.html index b51e53c155..2865a03569 100644 --- a/api/lib_agent.js.html +++ b/api/lib_agent.js.html @@ -143,7 +143,7 @@

        lib/agent.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/lib_application.js.html b/api/lib_application.js.html index b387728848..e4906298ad 100644 --- a/api/lib_application.js.html +++ b/api/lib_application.js.html @@ -366,7 +366,7 @@

        lib/application.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/lib_core_base_context_class.js.html b/api/lib_core_base_context_class.js.html index e37549c822..35b459137d 100644 --- a/api/lib_core_base_context_class.js.html +++ b/api/lib_core_base_context_class.js.html @@ -81,7 +81,7 @@

        lib/core/base_context_class.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/lib_core_base_context_logger.js.html b/api/lib_core_base_context_logger.js.html index 727f85136f..d02ad67b04 100644 --- a/api/lib_core_base_context_logger.js.html +++ b/api/lib_core_base_context_logger.js.html @@ -124,7 +124,7 @@

        lib/core/base_context_logger.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/lib_core_context_httpclient.js.html b/api/lib_core_context_httpclient.js.html index 6f8a5ae367..8011698542 100644 --- a/api/lib_core_context_httpclient.js.html +++ b/api/lib_core_context_httpclient.js.html @@ -89,7 +89,7 @@

        lib/core/context_httpclient.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/lib_core_messenger.js.html b/api/lib_core_messenger.js.html index 0b62dd3043..868fa374dc 100644 --- a/api/lib_core_messenger.js.html +++ b/api/lib_core_messenger.js.html @@ -198,7 +198,7 @@

        lib/core/messenger.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/lib_egg.js.html b/api/lib_egg.js.html index 3ce9261027..1548c8958e 100644 --- a/api/lib_egg.js.html +++ b/api/lib_egg.js.html @@ -469,7 +469,7 @@

        lib/egg.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/lib_jsdoc_context.jsdoc.html b/api/lib_jsdoc_context.jsdoc.html index abfd5986bc..8f907ca689 100644 --- a/api/lib_jsdoc_context.jsdoc.html +++ b/api/lib_jsdoc_context.jsdoc.html @@ -103,7 +103,7 @@

        lib/jsdoc/context.jsdoc


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/lib_jsdoc_request.jsdoc.html b/api/lib_jsdoc_request.jsdoc.html index 859ad86ccc..32beab0dec 100644 --- a/api/lib_jsdoc_request.jsdoc.html +++ b/api/lib_jsdoc_request.jsdoc.html @@ -109,7 +109,7 @@

        lib/jsdoc/request.jsdoc


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/lib_jsdoc_response.jsdoc.html b/api/lib_jsdoc_response.jsdoc.html index 1cd50f816e..536c195629 100644 --- a/api/lib_jsdoc_response.jsdoc.html +++ b/api/lib_jsdoc_response.jsdoc.html @@ -66,7 +66,7 @@

        lib/jsdoc/response.jsdoc


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/lib_loader_agent_worker_loader.js.html b/api/lib_loader_agent_worker_loader.js.html index 857189219e..76173066f8 100644 --- a/api/lib_loader_agent_worker_loader.js.html +++ b/api/lib_loader_agent_worker_loader.js.html @@ -86,7 +86,7 @@

        lib/loader/agent_worker_loader.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/lib_loader_app_worker_loader.js.html b/api/lib_loader_app_worker_loader.js.html index f90966e6d8..ececf56cc4 100644 --- a/api/lib_loader_app_worker_loader.js.html +++ b/api/lib_loader_app_worker_loader.js.html @@ -107,7 +107,7 @@

        lib/loader/app_worker_loader.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-development@2.2.0@egg-development_agent.js.html b/api/node_modules__egg-development@2.2.0@egg-development_agent.js.html index c9b9cd158e..055d0b42f7 100644 --- a/api/node_modules__egg-development@2.2.0@egg-development_agent.js.html +++ b/api/node_modules__egg-development@2.2.0@egg-development_agent.js.html @@ -133,7 +133,7 @@

        node_modules/_egg-development@2.2.0@egg-development/agent
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-development@2.2.0@egg-development_config_config.default.js.html b/api/node_modules__egg-development@2.2.0@egg-development_config_config.default.js.html index ec26e98588..9990a8126d 100644 --- a/api/node_modules__egg-development@2.2.0@egg-development_config_config.default.js.html +++ b/api/node_modules__egg-development@2.2.0@egg-development_config_config.default.js.html @@ -80,7 +80,7 @@

        node_modules/_egg-development@2.2.0@egg-development/confi
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-i18n@2.0.0@egg-i18n_app.js.html b/api/node_modules__egg-i18n@2.0.0@egg-i18n_app.js.html index 18da0edccc..539a203e80 100644 --- a/api/node_modules__egg-i18n@2.0.0@egg-i18n_app.js.html +++ b/api/node_modules__egg-i18n@2.0.0@egg-i18n_app.js.html @@ -199,7 +199,7 @@

        node_modules/_egg-i18n@2.0.0@egg-i18n/app.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-i18n@2.0.0@egg-i18n_app_extend_context.js.html b/api/node_modules__egg-i18n@2.0.0@egg-i18n_app_extend_context.js.html index c972f19d9e..8c51109ea6 100644 --- a/api/node_modules__egg-i18n@2.0.0@egg-i18n_app_extend_context.js.html +++ b/api/node_modules__egg-i18n@2.0.0@egg-i18n_app_extend_context.js.html @@ -73,7 +73,7 @@

        node_modules/_egg-i18n@2.0.0@egg-i18n/app/extend/context.
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-i18n@2.0.0@egg-i18n_config_config.default.js.html b/api/node_modules__egg-i18n@2.0.0@egg-i18n_config_config.default.js.html index 07eb12831b..5303127561 100644 --- a/api/node_modules__egg-i18n@2.0.0@egg-i18n_config_config.default.js.html +++ b/api/node_modules__egg-i18n@2.0.0@egg-i18n_config_config.default.js.html @@ -89,7 +89,7 @@

        node_modules/_egg-i18n@2.0.0@egg-i18n/config/config.defau
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-jsonp@2.0.0@egg-jsonp_app_extend_application.js.html b/api/node_modules__egg-jsonp@2.0.0@egg-jsonp_app_extend_application.js.html index 4d7139cf42..bdc5bbf5c2 100644 --- a/api/node_modules__egg-jsonp@2.0.0@egg-jsonp_app_extend_application.js.html +++ b/api/node_modules__egg-jsonp@2.0.0@egg-jsonp_app_extend_application.js.html @@ -174,7 +174,7 @@

        node_modules/_egg-jsonp@2.0.0@egg-jsonp/app/extend/applic
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-jsonp@2.0.0@egg-jsonp_app_extend_context.js.html b/api/node_modules__egg-jsonp@2.0.0@egg-jsonp_app_extend_context.js.html index 58e2a240c8..776cac3c98 100644 --- a/api/node_modules__egg-jsonp@2.0.0@egg-jsonp_app_extend_context.js.html +++ b/api/node_modules__egg-jsonp@2.0.0@egg-jsonp_app_extend_context.js.html @@ -95,7 +95,7 @@

        node_modules/_egg-jsonp@2.0.0@egg-jsonp/app/extend/contex
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-jsonp@2.0.0@egg-jsonp_config_config.default.js.html b/api/node_modules__egg-jsonp@2.0.0@egg-jsonp_config_config.default.js.html index b8384c9981..6948cd37b7 100644 --- a/api/node_modules__egg-jsonp@2.0.0@egg-jsonp_config_config.default.js.html +++ b/api/node_modules__egg-jsonp@2.0.0@egg-jsonp_config_config.default.js.html @@ -77,7 +77,7 @@

        node_modules/_egg-jsonp@2.0.0@egg-jsonp/config/config.def
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-logrotator@3.0.1@egg-logrotator_config_config.default.js.html b/api/node_modules__egg-logrotator@3.0.1@egg-logrotator_config_config.default.js.html index 4a204a86c6..76584cb941 100644 --- a/api/node_modules__egg-logrotator@3.0.1@egg-logrotator_config_config.default.js.html +++ b/api/node_modules__egg-logrotator@3.0.1@egg-logrotator_config_config.default.js.html @@ -86,7 +86,7 @@

        node_modules/_egg-logrotator@3.0.1@egg-logrotator/config/
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-multipart@2.0.0@egg-multipart_app_extend_context.js.html b/api/node_modules__egg-multipart@2.0.0@egg-multipart_app_extend_context.js.html index b4d8c8dfc7..e67762f5ed 100644 --- a/api/node_modules__egg-multipart@2.0.0@egg-multipart_app_extend_context.js.html +++ b/api/node_modules__egg-multipart@2.0.0@egg-multipart_app_extend_context.js.html @@ -122,7 +122,7 @@

        node_modules/_egg-multipart@2.0.0@egg-multipart/app/exten
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-multipart@2.0.0@egg-multipart_config_config.default.js.html b/api/node_modules__egg-multipart@2.0.0@egg-multipart_config_config.default.js.html index a044c3d83b..13771c13e9 100644 --- a/api/node_modules__egg-multipart@2.0.0@egg-multipart_config_config.default.js.html +++ b/api/node_modules__egg-multipart@2.0.0@egg-multipart_config_config.default.js.html @@ -88,7 +88,7 @@

        node_modules/_egg-multipart@2.0.0@egg-multipart/config/co
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-schedule@3.2.1@egg-schedule_app_extend_agent.js.html b/api/node_modules__egg-schedule@3.2.1@egg-schedule_app_extend_agent.js.html index fbfffb91a0..32e811c3bb 100644 --- a/api/node_modules__egg-schedule@3.2.1@egg-schedule_app_extend_agent.js.html +++ b/api/node_modules__egg-schedule@3.2.1@egg-schedule_app_extend_agent.js.html @@ -102,7 +102,7 @@

        node_modules/_egg-schedule@3.2.1@egg-schedule/app/extend/
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-security@2.0.0@egg-security_app_extend_context.js.html b/api/node_modules__egg-security@2.0.0@egg-security_app_extend_context.js.html index 64c1b135b4..dcae02ee2e 100644 --- a/api/node_modules__egg-security@2.0.0@egg-security_app_extend_context.js.html +++ b/api/node_modules__egg-security@2.0.0@egg-security_app_extend_context.js.html @@ -218,7 +218,7 @@

        node_modules/_egg-security@2.0.0@egg-security/app/extend/
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-security@2.0.0@egg-security_config_config.default.js.html b/api/node_modules__egg-security@2.0.0@egg-security_config_config.default.js.html index 3cc8b12dc6..253c80d183 100644 --- a/api/node_modules__egg-security@2.0.0@egg-security_config_config.default.js.html +++ b/api/node_modules__egg-security@2.0.0@egg-security_config_config.default.js.html @@ -146,7 +146,7 @@

        node_modules/_egg-security@2.0.0@egg-security/config/conf
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-session@3.1.0@egg-session_app_extend_application.js.html b/api/node_modules__egg-session@3.1.0@egg-session_app_extend_application.js.html index e628a8be70..63909f7b1f 100644 --- a/api/node_modules__egg-session@3.1.0@egg-session_app_extend_application.js.html +++ b/api/node_modules__egg-session@3.1.0@egg-session_app_extend_application.js.html @@ -116,7 +116,7 @@

        node_modules/_egg-session@3.1.0@egg-session/app/extend/ap
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-static@2.1.0@egg-static_config_config.default.js.html b/api/node_modules__egg-static@2.1.0@egg-static_config_config.default.js.html index 92e81099f5..e81dcdabd4 100644 --- a/api/node_modules__egg-static@2.1.0@egg-static_config_config.default.js.html +++ b/api/node_modules__egg-static@2.1.0@egg-static_config_config.default.js.html @@ -88,7 +88,7 @@

        node_modules/_egg-static@2.1.0@egg-static/config/config.d
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-view@2.0.0@egg-view_app_extend_application.js.html b/api/node_modules__egg-view@2.0.0@egg-view_app_extend_application.js.html index 5a64592fc5..416c07a1af 100644 --- a/api/node_modules__egg-view@2.0.0@egg-view_app_extend_application.js.html +++ b/api/node_modules__egg-view@2.0.0@egg-view_app_extend_application.js.html @@ -78,7 +78,7 @@

        node_modules/_egg-view@2.0.0@egg-view/app/extend/applicat
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-view@2.0.0@egg-view_app_extend_context.js.html b/api/node_modules__egg-view@2.0.0@egg-view_app_extend_context.js.html index 933591bfd6..48ed626e8f 100644 --- a/api/node_modules__egg-view@2.0.0@egg-view_app_extend_context.js.html +++ b/api/node_modules__egg-view@2.0.0@egg-view_app_extend_context.js.html @@ -107,7 +107,7 @@

        node_modules/_egg-view@2.0.0@egg-view/app/extend/context.
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-view@2.0.0@egg-view_config_config.default.js.html b/api/node_modules__egg-view@2.0.0@egg-view_config_config.default.js.html index ba21efc1be..7691302875 100644 --- a/api/node_modules__egg-view@2.0.0@egg-view_config_config.default.js.html +++ b/api/node_modules__egg-view@2.0.0@egg-view_config_config.default.js.html @@ -83,7 +83,7 @@

        node_modules/_egg-view@2.0.0@egg-view/config/config.defau
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules__egg-watcher@3.0.0@egg-watcher_config_config.default.js.html b/api/node_modules__egg-watcher@3.0.0@egg-watcher_config_config.default.js.html index dd82685478..327a16bdd0 100644 --- a/api/node_modules__egg-watcher@3.0.0@egg-watcher_config_config.default.js.html +++ b/api/node_modules__egg-watcher@3.0.0@egg-watcher_config_config.default.js.html @@ -77,7 +77,7 @@

        node_modules/_egg-watcher@3.0.0@egg-watcher/config/config
        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_egg.js.html b/api/node_modules_egg-core_lib_egg.js.html index 79769449c6..de072621de 100644 --- a/api/node_modules_egg-core_lib_egg.js.html +++ b/api/node_modules_egg-core_lib_egg.js.html @@ -432,7 +432,7 @@

        node_modules/egg-core/lib/egg.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_loader_context_loader.js.html b/api/node_modules_egg-core_lib_loader_context_loader.js.html index e328edf661..819407d001 100644 --- a/api/node_modules_egg-core_lib_loader_context_loader.js.html +++ b/api/node_modules_egg-core_lib_loader_context_loader.js.html @@ -166,7 +166,7 @@

        node_modules/egg-core/lib/loader/context_loader.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_loader_egg_loader.js.html b/api/node_modules_egg-core_lib_loader_egg_loader.js.html index c57bf35223..a6671b806a 100644 --- a/api/node_modules_egg-core_lib_loader_egg_loader.js.html +++ b/api/node_modules_egg-core_lib_loader_egg_loader.js.html @@ -485,7 +485,7 @@

        node_modules/egg-core/lib/loader/egg_loader.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_loader_file_loader.js.html b/api/node_modules_egg-core_lib_loader_file_loader.js.html index 47dfd844f9..3632d4298b 100644 --- a/api/node_modules_egg-core_lib_loader_file_loader.js.html +++ b/api/node_modules_egg-core_lib_loader_file_loader.js.html @@ -312,7 +312,7 @@

        node_modules/egg-core/lib/loader/file_loader.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_loader_mixin_config.js.html b/api/node_modules_egg-core_lib_loader_mixin_config.js.html index 6bf45c8a1b..24a8fce252 100644 --- a/api/node_modules_egg-core_lib_loader_mixin_config.js.html +++ b/api/node_modules_egg-core_lib_loader_mixin_config.js.html @@ -171,7 +171,7 @@

        node_modules/egg-core/lib/loader/mixin/config.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_loader_mixin_controller.js.html b/api/node_modules_egg-core_lib_loader_mixin_controller.js.html index 67c91255fc..2eed322693 100644 --- a/api/node_modules_egg-core_lib_loader_mixin_controller.js.html +++ b/api/node_modules_egg-core_lib_loader_mixin_controller.js.html @@ -180,7 +180,7 @@

        node_modules/egg-core/lib/loader/mixin/controller.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_loader_mixin_custom.js.html b/api/node_modules_egg-core_lib_loader_mixin_custom.js.html index fa9a6e0178..c217b0444a 100644 --- a/api/node_modules_egg-core_lib_loader_mixin_custom.js.html +++ b/api/node_modules_egg-core_lib_loader_mixin_custom.js.html @@ -97,7 +97,7 @@

        node_modules/egg-core/lib/loader/mixin/custom.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_loader_mixin_extend.js.html b/api/node_modules_egg-core_lib_loader_mixin_extend.js.html index 2cd2795269..053937859b 100644 --- a/api/node_modules_egg-core_lib_loader_mixin_extend.js.html +++ b/api/node_modules_egg-core_lib_loader_mixin_extend.js.html @@ -211,7 +211,7 @@

        node_modules/egg-core/lib/loader/mixin/extend.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_loader_mixin_middleware.js.html b/api/node_modules_egg-core_lib_loader_mixin_middleware.js.html index ccd6330c87..9cc0495b08 100644 --- a/api/node_modules_egg-core_lib_loader_mixin_middleware.js.html +++ b/api/node_modules_egg-core_lib_loader_mixin_middleware.js.html @@ -170,7 +170,7 @@

        node_modules/egg-core/lib/loader/mixin/middleware.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_loader_mixin_plugin.js.html b/api/node_modules_egg-core_lib_loader_mixin_plugin.js.html index ca9c53709b..a908e798b3 100644 --- a/api/node_modules_egg-core_lib_loader_mixin_plugin.js.html +++ b/api/node_modules_egg-core_lib_loader_mixin_plugin.js.html @@ -450,7 +450,7 @@

        node_modules/egg-core/lib/loader/mixin/plugin.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_loader_mixin_router.js.html b/api/node_modules_egg-core_lib_loader_mixin_router.js.html index 400711dd8d..285daffd0f 100644 --- a/api/node_modules_egg-core_lib_loader_mixin_router.js.html +++ b/api/node_modules_egg-core_lib_loader_mixin_router.js.html @@ -78,7 +78,7 @@

        node_modules/egg-core/lib/loader/mixin/router.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_loader_mixin_service.js.html b/api/node_modules_egg-core_lib_loader_mixin_service.js.html index 156aaa0752..2e2f6294a7 100644 --- a/api/node_modules_egg-core_lib_loader_mixin_service.js.html +++ b/api/node_modules_egg-core_lib_loader_mixin_service.js.html @@ -86,7 +86,7 @@

        node_modules/egg-core/lib/loader/mixin/service.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_utils_base_context_class.js.html b/api/node_modules_egg-core_lib_utils_base_context_class.js.html index da19ce58de..d573c7b8c6 100644 --- a/api/node_modules_egg-core_lib_utils_base_context_class.js.html +++ b/api/node_modules_egg-core_lib_utils_base_context_class.js.html @@ -100,7 +100,7 @@

        node_modules/egg-core/lib/utils/base_context_class.js

        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:17 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_utils_index.js.html b/api/node_modules_egg-core_lib_utils_index.js.html index 5538341341..27b94094e0 100644 --- a/api/node_modules_egg-core_lib_utils_index.js.html +++ b/api/node_modules_egg-core_lib_utils_index.js.html @@ -155,7 +155,7 @@

        node_modules/egg-core/lib/utils/index.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/api/node_modules_egg-core_lib_utils_router.js.html b/api/node_modules_egg-core_lib_utils_router.js.html index 20c7dda382..19862e7eb5 100644 --- a/api/node_modules_egg-core_lib_utils_router.js.html +++ b/api/node_modules_egg-core_lib_utils_router.js.html @@ -388,7 +388,7 @@

        node_modules/egg-core/lib/utils/router.js


        - Documentation generated by JSDoc 3.5.5 on Sun Feb 11 2018 10:30:18 GMT+0000 (UTC) using the Minami theme. + Documentation generated by JSDoc 3.5.5 on Thu Feb 22 2018 02:46:35 GMT+0000 (UTC) using the Minami theme.
        diff --git a/en/advanced/plugin.html b/en/advanced/plugin.html index d7a1f0dbd2..9908cf7a49 100644 --- a/en/advanced/plugin.html +++ b/en/advanced/plugin.html @@ -58,9 +58,9 @@

        Plugin Development

        -

        Plugins is the most important feature in Egg framework. It keeps Egg simple, stable and effecient, and also it can make the best reuse of business logic, to build an entire ecosystem. Someone should be got confused:

        +

        Plugins is the most important feature in Egg framework. It keeps Egg simple, stable and efficient, and also it can make the best reuse of business logic, to build an entire ecosystem. Someone should be confused:

          -
        • Since Koa has already got the plugin feature, what's the point of the Egg plugins
        • +
        • Since Koa already has the mechanism of middleware, what's the point of the Egg's plugins
        • What is the differences between middleware, plugin and application, what is the relationship
        • How can I use the plugin
        • How do I build a plugin
        • @@ -85,12 +85,12 @@

          env. This is optional, most time you can leave it. +
        • {Array} dependencies - strong dependant plugins list of current plugin(if one of these plugins here is not found, application's startup will be failed)
        • +
        • {Array} optionalDependencies - optional dependencies list of this plugin.(if these plugins are not activated, only warnings would be occurred, and will not affect the startup of the application).
        • +
        • {Array} env - this option is available only when specify the environment. The list of env please refer to env. This is optional, most time you can leave it.
        {
        "name": "egg-rpc",
        "eggPlugin": {
        "name": "rpc",
        "dependencies": [ "registry" ],
        "optionalDependencies": [ "vip" ],
        "env": [ "local", "test", "unittest", "prod" ]
        }
        }
      • @@ -98,141 +98,141 @@

        framework +
      • If you want to manage multiple plugins, you should do it inupper framework
    • # Dependencies Management of Plugins

      -

      The dependencies are managed by plugin himself, this is different from middleware. Before loading plugins, application will read dependencies from eggPlugin > dependencies and eggPlugin > optionalDependencies in package.json, and then sort out the loading orders according to their relationships, for example, the loading order of the following plugins is c => b => a

      +

      The dependencies are managed by plugin himself, this is different from middleware. Before loading plugins, application will read eggPlugin > dependencies and eggPlugin > optionalDependencies from package.json, and then sort out the loading orders according to their relationships, for example, the loading order of the following plugins is c => b => a

      // plugin a
      {
      "name": "egg-plugin-a",
      "eggPlugin": {
      "name": "a",
      "dependencies": [ "b" ]
      }
      }

      // plugin b
      {
      "name": "egg-plugin-b",
      "eggPlugin": {
      "name": "b",
      "optionalDependencies": [ "c" ]
      }
      }

      // plugin c
      {
      "name": "egg-plugin-c",
      "eggPlugin": {
      "name": "c"
      }
      }

      ** Attention: The values in dependencies and optionalDependencies are the eggPlugin.name of plugins, not package.name. **

      The dependencies and optionalDependencies is studied from npm, most time we are using dependencies, it is recommended. There are about two situations to apply the optionalDependencies:

        -
      • Only get dependant in specific enviroment: for example, a authentication plugin, only depend on the mock plugin in development enviroment.
      • -
      • Weakly depending, for example: A depned on B, but without B, A can take other choice
      • +
      • Only be dependant in specific environment: for example, a authentication plugin, only depends on the mock plugin in development environment.
      • +
      • Weakly depending, for example: A depends on B, but without B, A can take other choice
      -

      Pay attention: if you are using optionalDependencies, framework won't verify the activation of these dependencies, they are only for sorting loading orders. In such situation, the plugin will go through other ways such as interface detection to decide related logic.

      -

      # What is plugin capable of

      -

      We've discussed what plugin is. Now what is it capable of?

      -

      # Embeded Objects API Extension

      -

      Extend the embeded objects of the framework, just like the application

      +

      Pay attention: if you are using optionalDependencies, framework won't verify the activation of these dependencies, they are only for sorting loading orders. In such situation, the plugin will go through other ways such as interface detection to decide processing logic.

      +

      # What can plugin do

      +

      We've discussed what plugin is. Now what can it do?

      +

      # Built-in Objects API Extension

      +

      Extend the built-in objects of the framework, just like the application

        -
      • app/extend/request.js - extends Koa#Request
      • -
      • app/extend/response.js - extends Koa#Response
      • -
      • app/extend/context.js - extends Koa#Context
      • -
      • app/extend/helper.js - extends Helper
      • -
      • app/extend/application.js - extends Application
      • -
      • app/extend/agent.js - extends Agent
      • +
      • app/extend/request.js - extends Koa#Request object
      • +
      • app/extend/response.js - extends Koa#Response object
      • +
      • app/extend/context.js - extends Koa#Context object
      • +
      • app/extend/helper.js - extends Helper object
      • +
      • app/extend/application.js - extends Application object
      • +
      • app/extend/agent.js - extends Agent object

      # Insert Custom Middlewares

        -
      1. First, define and implement middleware inside directory app/middleware
      2. +
      3. First, define and implement middleware under directory app/middleware
      'use strict';

      const staticCache = require('koa-static-cache');
      const assert = require('assert');
      const mkdirp = require('mkdirp');

      module.exports = (options, app) => {
      assert.strictEqual(typeof options.dir, 'string', 'Must set `app.config.static.dir` when static plugin enable');

      // ensure directory exists
      mkdirp.sync(options.dir);

      app.loggers.coreLogger.info('[egg-static] starting static serve %s -> %s', options.prefix, options.dir);

      return staticCache(options);
      };
      1. Insert middleware to the appropriate position in app.js(e.g. insert static middleware before bodyParser )
      -
      const assert = require('assert');

      module.exports = app => {
      // insert static before bodyParser
      const index = app.config.coreMiddleware.indexOf('bodyParser');
      assert(index >= 0, 'bodyParser highly needed');

      app.config.coreMiddleware.splice(index, 0, 'static');
      };
      -

      # Initializations on Application Starting

      +
      const assert = require('assert');

      module.exports = app => {
      // insert static middleware before bodyParser
      const index = app.config.coreMiddleware.indexOf('bodyParser');
      assert(index >= 0, 'bodyParser highly needed');

      app.config.coreMiddleware.splice(index, 0, 'static');
      };
      +

      # Initialization on Application Starting

      • If you want to read some local config before startup

        // ${plugin_root}/app.js
        const fs = require('fs');
        const path = require('path');

        module.exports = app => {
        app.customData = fs.readFileSync(path.join(app.config.baseDir, 'data.bin'));

        app.coreLogger.info('read data ok');
        };
      • -

        If you want to do some async starting bussiness, you can do it with app.beforeStart API

        +

        If you want to do some async starting business, you can do it with app.beforeStart API

        // ${plugin_root}/app.js
        const MyClient = require('my-client');

        module.exports = app => {
        app.myClient = new MyClient();
        app.myClient.on('error', err => {
        app.coreLogger.error(err);
        });
        app.beforeStart(async () => {
        await app.myClient.ready();
        app.coreLogger.info('my client is ready');
        });
        };
      • -

        You can add starting bussiness of agent with agent.beforeStart API

        +

        You can add starting business of agent with agent.beforeStart API

        // ${plugin_root}/agent.js
        const MyClient = require('my-client');

        module.exports = agent => {
        agent.myClient = new MyClient();
        agent.myClient.on('error', err => {
        agent.coreLogger.error(err);
        });
        agent.beforeStart(async () => {
        await agent.myClient.ready();
        agent.coreLogger.info('my client is ready');
        });
        };
      -

      # Setup Timing Task

      +

      # Setup Schedule Task

      1. Setup dependencies of schedule plugin in package.json
      {
      "name": "your-plugin",
      "eggPlugin": {
      "name": "your-plugin",
      "dependencies": [ "schedule" ]
      }
      }
        -
      1. Create a new file in ${plugin_root}/app/schedule/ directory to edit your timing task
      2. +
      3. Create a new file in ${plugin_root}/app/schedule/ directory to edit your schedule task
      exports.schedule = {
      type: 'worker',
      cron: '0 0 3 * * *',
      // interval: '1h',
      // immediate: true,
      };

      exports.task = async ctx => {
      // your logic code
      };

      # Best Practice of Global Instance Plugin

      -

      Some plugins are made to introduce existing service into framework, like egg-mysql,egg-oss.They all need to create corresponding instance in application. We notice something when developing this kind of plugins:

      +

      Some plugins are made to introduce existing service into framework, like egg-mysql,egg-oss.They all need to create corresponding instance in application. We notice that there are some common problems when developing this kind of plugins:

        -
      • Use different instances of the same service in one application(e.g:connect to two different MySQL Database)
      • -
      • Dynamically intialize connection after get config from other service(get MySQL server address from config center and then initialize connection)
      • +
      • Use different instances of the same service in one application(e.g:connect to two different MySQL Databases)
      • +
      • Dynamically initialize connection after getting config from other service(gets MySQL server address from configuration center and then creates connection)
      -

      If each plugin make their own implementation, all sorts of configs and initializations will be chaotic. So the framework supply the app.addSingleton(name, creator) API to make it clear.

      +

      If each plugin makes their own implementation, all sorts of configs and initializations will be chaotic. So the framework supplies the app.addSingleton(name, creator) API to unify the creation of this kind of services.

      # Writing Plugin

      -

      We have simplfied the egg-mysql plugin in order to use it in this tutorial

      -
      // egg-mysql/app.js
      module.exports = app => {
      // The first parameter mysql defined the field mounted to app, we can access MySQL singleton instance by `app.mysql`
      // The second parameter createMysql accept 2 parameters (config, app), and then return a MySQL instance
      app.addSingleton('mysql', createMysql);
      }

      /**
      * @param {Object} config The config which already processed by the framework. If the application configured multiple MySQL instances, each config would be passed in and call the createMysql seperately
      * @param {Application} app the current application
      * @return {Object} return the created MySQL instance
      */
      function createMysql(config, app) {
      assert(config.host && config.port && config.user && config.database);
      // create instance
      const client = new Mysql(config);

      // check before start the application
      app.beforeStart(async function startMysql() {
      const rows = await client.query('select now() as currentTime;');
      const index = count++;
      app.coreLogger.info(`[egg-mysql] instance[${index}] status OK, rds currentTime: ${rows[0].currentTime}`);
      });

      return client;
      }
      -

      As you can see, all we need to do for this plugin is passing in the field that needed to be mounted and the corresponding initialize function. Framework will be in charge of managing all the configs and the way to access the instances.

      -

      # Application Layer Use Case

      -
      # Singelton
      +

      We simplify the egg-mysql plugin and to see how to write such a plugin:

      +
      // egg-mysql/app.js
      module.exports = app => {
      // The first parameter mysql defines the field mounted to app, we can access MySQL singleton instance via `app.mysql`
      // The second parameter createMysql accepts two parameters (config, app), and then returns a MySQL instance
      app.addSingleton('mysql', createMysql);
      }

      /**
      * @param {Object} config The config which already processed by the framework. If the application configured multiple MySQL instances, each config would be passed in and call multiple createMysql
      * @param {Application} app the current application
      * @return {Object} return the created MySQL instance
      */
      function createMysql(config, app) {
      assert(config.host && config.port && config.user && config.database);
      // create instance
      const client = new Mysql(config);

      // check before start the application
      app.beforeStart(async function startMysql() {
      const rows = await client.query('select now() as currentTime;');
      const index = count++;
      app.coreLogger.info(`[egg-mysql] instance[${index}] status OK, rds currentTime: ${rows[0].currentTime}`);
      });

      return client;
      }
      +

      As you can see, all we need to do for this plugin is passing in the field that need to be mounted and the corresponding initialization function. Framework will be in charge of managing all the configs and the ways to access the instances.

      +

      # Application Layer Usage Case

      +
      # Single Instance
      1. Declare MySQL config in config file
      // config/config.default.js
      module.exports = {
      mysql: {
      client: {
      host: 'mysql.com',
      port: '3306',
      user: 'test_user',
      password: 'test_password',
      database: 'test',
      },
      },
      };
        -
      1. Access database by app.mysql directly
      2. +
      3. Access database through app.mysql directly
      // app/controller/post.js
      class PostController extends Controller {
      async list() {
      const posts = await this.app.mysql.query(sql, values);
      },
      }
      # Multiple Instances
        -
      1. Of cause we need to configure MySQL in the config file, but diffrent from singleton, we need to add clients in the config to configure each instance. The default configs(e.g. host and port) can be configured in default .
      2. +
      3. Of course we need to configure MySQL in the config file, but different from single instance, we need to add clients in the config to declare the configuration of different instances. meanwhile, the default field can be used to configure the shared configuration in multiple instances(e.g. host and port).
      // config/config.default.js
      exports.mysql = {
      clients: {
      // clientId, access the client instance by app.mysql.get('clientId')
      db1: {
      user: 'user1',
      password: 'upassword1',
      database: 'db1',
      },
      db2: {
      user: 'user2',
      password: 'upassword2',
      database: 'db2',
      },
      },
      // default configuration for all databases
      default: {
      host: 'mysql.com',
      port: '3306',
      },
      };
        -
      1. Access the right instance by app.mysql.get('db1')
      2. +
      3. Access the corresponding instance by app.mysql.get('db1')
      // app/controller/post.js
      class PostController extends Controller {
      async list() {
      const posts = await this.app.mysql.get('db1').query(sql, values);
      },
      }
      # Dynamically Instantiate
      -

      We can dynamically initialize instance without config when running the application.

      -
      // app.js
      module.exports = app => {
      app.beforeStart(async () => {
      // get MySQL config from configcenter { host, post, password, ... }
      const mysqlConfig = await app.configCenter.fetch('mysql');
      // create MySQL instance dynamically
      app.database = app.mysql.createInstance(mysqlConfig);
      });
      };
      -

      Access the instance by app.database

      -
      // app/controller/post.js
      class PostController extends Controller {
      async list() {
      const posts = await this.app.databse.query(sql, values);
      },
      }
      -

      Attention, when creating the instance dynamically, framework would read the default property in the config file as the default config

      +

      Instead of declaring the configuration in the configuration file in advance, We can dynamically initialize an instance at the runtime of the application.

      +
      // app.js
      module.exports = app => {
      app.beforeStart(async () => {
      // get MySQL config from configuration center { host, post, password, ... }
      const mysqlConfig = await app.configCenter.fetch('mysql');
      // create MySQL instance dynamically
      app.database = app.mysql.createInstance(mysqlConfig);
      });
      };
      +

      Access the instance through app.database

      +
      // app/controller/post.js
      class PostController extends Controller {
      async list() {
      const posts = await this.app.database.query(sql, values);
      },
      }
      +

      Attention, when creating the instance dynamically, framework would read the default configuration in the config file as the default configuration

      # Plugin Locate Rule

      When loading the plugins in the framework, it will follow the rules to locate them as below:

      • -

        If there is the path config, load them in path directly

        +

        If there is the path configuration, load them in path directly

      • -

        If there is no path config, search them with the package name, the search orders are:

        +

        If there is no path configuration, search them with the package name, the search orders are:

        1. node_modules directory of the application root
        2. node_modules directory of the dependencies
        3. -
        4. node_modules of current directory(generally for unit test compability)
        5. +
        6. node_modules of current directory(generally for unit test compatibility)

      # Plugin Specification

      -

      We are expecting people could build new plugins. In the meantime we hope these plugins could follow the rules as below:

      +

      We are very welcome your contribution to the new plugins, but also hope you follow some of following specifications:

      • Naming Rules

          -
        • npm packages must append prefix egg-,and all letters must be lowcase,for example:egg-xxx. The long names should be concatenate with middlelines:egg-foo-bar.
        • -
        • The corresponding plugin should be named in camlecase. The name should be translated according to the middlelines of the npm name:egg-foo-bar => fooBar.
        • -
        • The use of middlelines is not mandatory,for example:userservice(egg-userservice) and ser-service(egg-user-service) are both acceptable.
        • +
        • npm packages must append prefix egg-,and all letters must be lowercase,for example:egg-xxx. The long names should be concatenated with middle-lines:egg-foo-bar.
        • +
        • The corresponding plugin should be named in camel-case. The name should be translated according to the middle-lines of the npm name:egg-foo-bar => fooBar.
        • +
        • The use of middle-lines is not compulsive,for example:userservice(egg-userservice) and user-service(egg-user-service) are both acceptable.
      • package.json Rules

        • Add eggPlugin property according to the details discussed before.
        • -
        • For index conveniet, add egg,egg-plugin,eggPlugin in keywords.
        • +
        • For convenient index, add egg,egg-plugin,eggPlugin in keywords.
        {
        "name": "egg-view-nunjucks",
        "version": "1.0.0",
        "description": "view plugin for egg",
        "eggPlugin": {
        "name": "nunjucks",
        "dep": [
        "security"
        ]
        },
        "keywords": [
        "egg",
        "egg-plugin",
        "eggPlugin",
        "egg-plugin-view",
        "egg-view",
        "nunjucks"
        ],
        }

      # Why do not use the npm package name as the plugin name?

      -

      Egg define the plugin name by the eggPlugin.name, it is only unique in application or framework, that means many npm packages might get the same plugin name, why design this way?

      -

      First, Egg plugin is not only support npm package, it also support search plugins in local directory. In Chapter progressive we mentioned how to make progress by using these two configs. Directory is more friendly to unit test. So, Egg can not ensure uniqueness through npm package name.

      -

      More important, Egg can use this feature to make Adapter. For example, the plugin defined inTemplate Develop Spec was named as view, but there are plugins named egg-view-nunjucks and egg-view-react, the users only need to change the plugin and modify the templates, no need to modify the Controller, because all these plugins have implemented the same API.

      -

      Make the same featured plugins the same name and same API, can make quick switch between them. This is really really useful in template and database.

      +

      Egg defines the plugin name through the eggPlugin.name, it is only unique in application or framework, that means many npm packages might get the same plugin name, why design in this way?

      +

      First, Egg plugin do not only support npm package, it also supports search plugins in local directory. In Chapter progressive we mentioned how to make progress by using these two configurations. Directory is more friendly to unit test. So, Egg can not ensure uniqueness through npm package name.

      +

      What's more, Egg can use this feature to make Adapter. For example, the plugin defined inTemplate Develop Spec was named as view, but there are plugins named egg-view-nunjucks and egg-view-react, the users only need to change the plugin and modify the templates, no need to modify the Controller, because all these plugins have implemented the same API.

      +

      Giving the same plugin name and the same API to the same plugin can make quick switch between them. This is really really useful in template and database.