JSDocs:Documenting Node.js表达路由

Sta*_*hil 14 node.js jsdoc jsdoc3

我正在努力用JSDocs记录router.get调用.如果我尝试将其附加到我的路由器调用本身,我无法在页面上正确显示文档.

/**
 * Health check
 * @memberof health
 */
router.get('/happy', function(req, res) {
    res.json({ "status" : "OK" });
});
Run Code Online (Sandbox Code Playgroud)

要解决它,我让函数有名字.

router.get('/happy', happy);

/**
 * Health check
 * @memberof health
 */
function happy(req, res) {
    res.json({ "status" : "OK" });
}
Run Code Online (Sandbox Code Playgroud)

这有效,但我真的想找到一种方法来获得第一种方法.有没有办法记录第一个例子?我可以使用的关键字?

小智 13

我在我的代码中执行以下操作.

/** Express router providing user related routes
 * @module routers/users
 * @requires express
 */

/**
 * express module
 * @const
 */
const express = require('express');

/**
 * Express router to mount user related functions on.
 * @type {object}
 * @const
 * @namespace usersRouter
 */
const router = express.Router();

/**
 * Route serving login form.
 * @name get/login
 * @function
 * @memberof module:routers/users~usersRouter
 * @inner
 * @param {string} path - Express path
 * @param {callback} middleware - Express middleware.
 */
router.get('/login', function(req, res, next) {
  res.render('login', {title: 'Login', message: 'You must login'});
});
Run Code Online (Sandbox Code Playgroud)

输出是: 截图 更新的屏幕截图 - 模块:路由器/用户 命名空间 -  usersRouter

  • 截屏网址现在返回404 :( (3认同)

leo*_*228 2

从一点谷歌搜索来看,还没有实际测试过。

/**
 * Health check
 * @memberof health
 * @function
 * @name happy
 */
router.get('/happy', function(req, res) {
    res.json({ "status" : "OK" });
});
Run Code Online (Sandbox Code Playgroud)