@@ -58,8 +58,9 @@ export class ExpressFrameworkAnalyzer extends FrameworkAnalyzer {
5858
5959 // 必须是Express类型 (@types/express)
6060 const objectExpression = propertyAccess . getExpression ( ) ;
61- const isExpressType = this . isExpressType ( objectExpression ) ;
62- if ( ! isExpressType ) {
61+ const isExpressAppType =
62+ this . isExpressAppType ( objectExpression ) || this . isExpressRouterType ( objectExpression ) ;
63+ if ( ! isExpressAppType ) {
6364 return false ;
6465 }
6566
@@ -103,15 +104,24 @@ export class ExpressFrameworkAnalyzer extends FrameworkAnalyzer {
103104 * @param node 要检查的节点
104105 * @returns 如果是Express类型返回true
105106 */
106- private isExpressType ( node : Node ) {
107+ private isExpressAppType ( node : Node ) {
107108 const nodeType = node . getType ( ) ;
108109 const typeSymbol = nodeType . getSymbol ( ) ;
109110
110111 // 检查是否是@types/express的 Express 类型
111- if ( nodeType . getText ( ) . includes ( "@types/express" ) && typeSymbol ?. getName ( ) === "Express" ) {
112- return true ;
113- }
112+ return nodeType . getText ( ) . includes ( "@types/express" ) && typeSymbol ?. getName ( ) === "Express" ;
113+ }
114+
115+ /**
116+ * 检查节点是否为Express Router类型
117+ * @param node 要检查的节点
118+ * @returns 如果是Express Router类型返回true
119+ */
120+ private isExpressRouterType ( node : Node ) {
121+ const nodeType = node . getType ( ) ;
122+ const typeSymbol = nodeType . getSymbol ( ) ;
114123
115- return false ;
124+ // 检查是否是@types/express的 Router 类型
125+ return nodeType . getText ( ) . includes ( "@types/express" ) && typeSymbol ?. getName ( ) === "Router" ;
116126 }
117127}
0 commit comments