From 9339ad3d309fe3c8bdda6cd70ba95cc2c580ba62 Mon Sep 17 00:00:00 2001 From: hmydgz Date: Fri, 26 Jul 2024 15:05:14 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=83=20docs:=20=E6=9B=B4=E6=96=B0=20REA?= =?UTF-8?q?DME?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 ++++++-- README.zh_CN.md | 8 ++++++-- doc/images/controller_extend.png | Bin 0 -> 38065 bytes doc/images/router_module.png | Bin 0 -> 42509 bytes 4 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 doc/images/controller_extend.png create mode 100644 doc/images/router_module.png diff --git a/README.md b/README.md index 4c31ae6..76617a6 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ English | [简体中文](./README.zh_CN.md) A plugin provided for the `Nest` project to quickly jump to code blocks through interface addresses -By querying the access path for matching Controllers and Methods, it is possible to jump to the corresponding function definition +By querying the access path for matching `Controllers` and `Methods`, it is possible to jump to the corresponding function definition ![priview](https://github.com/hmydgz/nestjs-route-jumper/raw/main/doc/images/priview.gif) @@ -16,7 +16,11 @@ Open it through the Nest icon in the sidebar, where you can enter the interface ## Illustrate -Currently, it supports querying routes explicitly declared by decorators exported using `@nestjs/common`, as well as [Router module](https://docs.nestjs.com/recipes/router-module), Custom decorators and third-party packages are currently not supported +Currently supported queries for routing-related functionality +1. routes declared by the `@Controller` `@Get` `@Post` `@Put` `@Patch` `@Delete` `@Options` `@Head` `@All` `@Version` decorator exported from `@nestjs/common`. +2. routes handled by the [Router module](https://docs.nestjs.com/recipes/router-module) in `nest`. ![priview](https://github.com/hmydgz/nestjs-route-jumper/raw/main/doc/images/router_module.png) +3. single inheritance for classes that support `@Controller`. ![priview](https://github.com/hmydgz/nestjs-route-jumper/raw/main/doc/images/controller_extend.png) +4. Supports the [standard mode / monorepo mode](https://docs.nestjs.com/cli/monorepo#monorepo-mode). ## Visual Studio Marketplace diff --git a/README.zh_CN.md b/README.zh_CN.md index c230bd2..d80d486 100644 --- a/README.zh_CN.md +++ b/README.zh_CN.md @@ -6,7 +6,7 @@ 为 `Nest` 项目提供的一个通过接口访问路径快速跳转到代码块的插件 -通过访问路径查询对可匹配的 Controller 和 Method,可跳转到对应的函数定义处 +通过访问路径查询对可匹配的 `Controller` 和 `Method`,可跳转到对应的函数定义处 ![priview](https://github.com/hmydgz/nestjs-route-jumper/raw/main/doc/images/priview.gif) @@ -16,7 +16,11 @@ ## 说明 -目前支持查询使用 `@nestjs/common` 导出的装饰器显式声明的路由,和 [Router module](https://docs.nestjs.com/recipes/router-module),自定义装饰器与第三方包暂不支持 +目前支持查询的路由相关功能 +1. 通过从 `@nestjs/common` 导出的 `@Controller` `@Get` `@Post` `@Put` `@Patch` `@Delete` `@Options` `@Head` `@All` `@Version` 装饰器声明的路由; +2. `nest` 中的 [Router module](https://docs.nestjs.com/recipes/router-module) 处理的路由; ![priview](https://github.com/hmydgz/nestjs-route-jumper/raw/main/doc/images/router_module.png) +3. 支持 `@Controller` 的类的单继承; ![priview](https://github.com/hmydgz/nestjs-route-jumper/raw/main/doc/images/controller_extend.png) +4. 支持 [standard mode / monorepo mode](https://docs.nestjs.com/cli/monorepo#monorepo-mode); ## Visual Studio Marketplace diff --git a/doc/images/controller_extend.png b/doc/images/controller_extend.png new file mode 100644 index 0000000000000000000000000000000000000000..72006397f1a52a8b9f324a24172ee7a1c0961724 GIT binary patch literal 38065 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 literal 0 HcmV?d00001 diff --git a/doc/images/router_module.png b/doc/images/router_module.png new file mode 100644 index 0000000000000000000000000000000000000000..d9061a9abf34206c4c3a2ed9ef295349742dbe8f GIT binary patch literal 42509 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