npm 包 @nestjs/core 使用教程

阅读时长 5 分钟读完

什么是 @nestjs/core?

@nestjs/core 是一个基于 Node.js 平台的开源 Web 应用程序框架,致力于在 Web 应用开发中提供高效、可伸缩和可维护的体验。

@nestjs/core 是 @nestjs 中最核心的部分,它包含了 NestJS 框架的基本架构和核心组件,如控制器、模块、服务等,提供了一种基于依赖注入和模块化的开发模式。使用 @nestjs/core 可以快速地构建一个高效、可扩展的 Web 应用程序。

如何安装 @nestjs/core?

使用 npm 安装 @nestjs/core :

或者使用 yarn 安装 @nestjs/core :

如何使用 @nestjs/core?

在 Node.js 的项目中,使用 @nestjs/core 可以通过以下步骤:

  1. 创建一个 Nest 应用程序对象
  2. 定义一个模块
  3. 定义一个控制器
  4. 定义一个服务

创建一个 Nest 应用程序对象

在使用 @nestjs/core 时,首先需要创建一个 Nest 应用程序对象。这个对象作为应用程序的入口,可以帮助我们配置和启动整个应用程序。创建一个 Nest 应用程序对象可以通过如下代码实现:

-- -------------------- ---- -------
------ - ----------- - ---- ---------------
------ - --------- - ---- ---------------

----- -------- ----------- -
  ----- --- - ----- ------------------------------
  ----- -----------------
-

------------

在上面的代码中,我们首先从 @nestjs/core 导入 NestFactory,然后使用 create() 方法创建一个 Nest 应用程序对象,并传入 AppModule 作为参数。最后我们使用 listen() 方法启动应用程序,在本例中启动的是一个基于端口号 3000 的 Web 服务器。

定义一个模块

在 NestJS 中,一个模块代表着一个独立的功能单元,可以包含控制器、服务以及其它相关的组件。我们可以使用 @Module 装饰器来定义一个模块。以下是一个简单的 AppModule 示例,它包含了一个 UsersController 控制器和一个 UsersService 服务:

-- -------------------- ---- -------
------ - ------ - ---- -----------------
------ - --------------- - ---- ---------------------------
------ - ------------ - ---- ------------------------

---------
  -------- ---
  ------------ ------------------
  ---------- ---------------
--
------ ----- --------- --

在上面的代码中,我们使用 @Module 装饰器定义了一个 AppModule 模块,它包含了 UsersController 控制器和 UsersService 服务。其中,imports 属性表示模块的依赖关系,可以使用 NestModule 接口处理模块之间的关联;controllers 属性表示模块中的控制器;providers 属性表示模块中的服务。

定义一个控制器

控制器是具有处理 HTTP 请求的作用,可以使用 @Controller 装饰器定义一个控制器。以下是一个简单的 UsersController 示例,它处理了一个 GET 请求,并返回了一个消息:

-- -------------------- ---- -------
------ - ----------- --- - ---- -----------------
------ - ------------ - ---- ------------------

--------------------
------ ----- --------------- -
  ------------------- -------- ------------- ------------- --

  ------
  ---------- ------ -
    ------ ----------------------------
  -
-

在上面的代码中,我们使用 @Controller('users') 定义了一个 UsersController,表示处理路径为 /users 的请求。然后我们定义了一个 getUser() 方法,使用 @Get() 装饰器将该方法绑定到 GET 请求上,并在该方法内部调用了 UsersService 中的 getUser() 方法。

定义一个服务

服务是应用程序的核心组成部分,它可以负责各种业务逻辑。可以使用 @Injectable 装饰器定义一个服务。以下是一个简单的 UsersService 示例,它包含了一个 getUser() 方法:

在上面的代码中,我们使用 @Injectable() 装饰器定义了一个 UsersService 服务,并定义了一个 getUser() 方法,返回了一条简单的消息。

总结

@nestjs/core 是一个非常强大的 Web 应用程序框架,可以帮助开发者构建高效、可扩展的 Web 应用程序。使用 @nestjs/core 可以轻松创建模块、控制器和服务,并进行依赖注入、模块化设计等操作。以上就是 @nestjs/core 的基本使用教程,希望对大家有所帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/107358