npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

egg-router-auto

v2.0.3

Published

根据JsDoc生成简单的路由

Downloads

3

Readme

egg-router-auto

根据 controller 文件注释自动生成路由

NPM version build status Test coverage David deps Known Vulnerabilities npm download

开启插件

// config/plugin.js
module.exports = {
  // ...
  routerAuto: {
    enable: true,
    package: 'egg-router-auto',
  },
  // ...
}

详细配置

// config/plugin.js

module.exports = (appInfo) => {
  const config = (exports = {})

  // 路由生成基本路径
  //  ''   => /home
  // 'api' => /api/home
  // 'test' => /test/home
  config.routerAuto = {
    baseApi: 'api',
  }
}

使用

  • 使用 @controller 设置 路由名称
@controller home
  • 使用 @param 设置 请求类型 执行的方法 路由参数
// 生成get请求到当前文件 index 方法
@param {get} index

// 生成 get 请求  /home/text
@param {get} index  text

// 生成带参数
@param {delete} delete111 del/:id
// 只解析每个文件第一个 多行注释 /**  */
// app/controller/home.js
const Controller = require('egg').Controller;
/**
 * 首页
 * @controller home
 * @param {get} index :id
 * @param {post} post
 * @param {delete} delete111 del/:id
 */
class HomeController extends Controller {

   async index() {
    const { ctx } = this
    ctx.body = `hi,  ${ctx.params.id}`
  }

  async post() {
    const { ctx } = this
    ctx.body = 'hi, home post'
  }

  async delete111() {
    const { ctx } = this
    ctx.body = `delete, home  ${ctx.params.id}`
  }

}
module.exports = HomeController;
// app/router.js
module.exports = (app) => {
  const { router, controller } = app;
  // 没有写注释可以继续在这里配置
  // router.get('/user/:id', controller.user.info);
}

生成控制台输出

提问交流

请到 egg issues 异步交流。

License

MIT