我是NestJS的新手,所以我很难理解组装一个合适的应用程序结构的基础知识。我知道Nest中的所有东西都是构建在模块化系统上的。但是我不知道如何正确地实现它,也许你们中的一个会告诉我如何正确地实现它。
我正在编写一个计算器应用程序。在客户端,用户编写“expression”字符串。然后,我将此表达式作为请求发送到服务器,在服务器上必须计算表达式并返回结果。
@Controller('/calculator')
export class CalculatorController {
@Post()
getResult(@Body() expressionDto: ExpressionDto): CalculationResultDto {
const { expression } = expressionDto;
const result = getResult(expression); //here is the problem
return { expression, result };
}
}
问题是getResult函数是一堆大函数。所有这些函数都位于utils文件夹中。但这在Nest中是错误的方法,因为所有功能都应该以模块的形式呈现。你能告诉我如何使这些函数正确吗?它们应该存储在哪里,以什么形式?
1条答案
按热度按时间vlju58qv1#
在实用程序中使用函数并不一定是“错误”的方法,它并不常见,但这并不意味着它是“错误的”。
CalculatorService
类,它包含getResult
方法和所有其他方法,这些方法最终将作为类本身的方法调用,可能是私有方法,这取决于是否需要从类外部调用它们,然后让控制器注入服务,并在路由处理程序内部调用this.calculatorService.getResult(expression)
。这个类可能类似于
然后你的控制器看起来像这样:
你会有一个模块类,看起来像这样: