前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nest系列教程之入门篇

Nest系列教程之入门篇

作者头像
阿宝哥
发布2019-11-06 11:53:19
1.5K0
发布2019-11-06 11:53:19
举报
nestjs-logo
nestjs-logo

Nest 用于构建高效且可扩展的服务器端应用程序的渐进式 Node.js 框架,深受 Angular 的启发。

Talk is cheap. Show me the code.

import { Injectable } from '@nestjs/common';
import { Cat } from './interfaces/cat.interface';

@Injectable()
export class CatsService {
  private readonly cats: Cat[] = [];

  create(cat: Cat) {
    this.cats.push(cat);
  }

  findAll(): Cat[] {
    return this.cats;
  }
}

以上的代码对于 Angular 的小伙伴来说,是不是感觉很熟悉。除了代码层相似之外,系统模块架构也类似:

nestjs-module
nestjs-module

下面我们步入正题,迈出 Nest 大门的第一步。

Nest 简介

Nest 是构建高效,可扩展的 Node.js Web 应用程序的框架。 它使用现代的 JavaScript 或 TypeScript(保留与纯 JavaScript 的兼容性),并结合 OOP(面向对象编程),FP(函数式编程)和 FRP(函数响应式编程)的元素。

在底层,Nest 使用了 Express,但也提供了与其他各种库的兼容,例如 Fastify,可以方便地使用各种可用的第三方插件。

Nest 设计哲学

近几年,由于 Node.js,JavaScript 已经成为 Web 前端和后端应用程序的「通用语言」,从而产生了像AngularReactVue 等令人耳目一新的项目,这些项目提高了开发人员的生产力,使得可以快速构建可测试的且可扩展的前端应用程序。 然而,在服务器端,虽然有很多优秀的库、helper 和 Node 工具,但是它们都没有有效地解决主要问题 - 架构。

Nest 旨在提供一个开箱即用的应用程序体系结构,允许轻松创建高度可测试,可扩展,松散耦合且易于维护的应用程序。

Nest 快速入门

环境搭建

与使用 Angular CLI 搭建 Angular 开发环境一样,Nest 也为我们提供了 Nest CLI。对于新用户来说,你可以在命令执行以下命令安装 Nest CLI

$ npm i -g @nestjs/cli

安装完成后,我们继续执行以下命令来新建项目:

$ nest new nest-quickstart
目录结构

新建项目的目录结构如下:

├── README.md
├── node_modules
├── nodemon-debug.json
├── nodemon.json
├── package-lock.json
├── package.json
├── src
├── test
├── tsconfig.json
├── tsconfig.spec.json
├── tslint.json
└── webpack.config.js

其中 src 是源码目录,该目录下有以下几个核心文件:

├── app.controller.ts # 根控制器
├── app.module.ts # 应用程序根模块
├── app.service.ts # 根服务
└── main.ts # 应用程序入口文件

其中 main.ts 的代码如下,它负责引导我们的应用程序:

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
}
bootstrap();

bootstrap 方法是一个异步函数,在该函数内部,通过调用 NestFactory.create 方法创建一个 Nest 应用实例,然后开始监听 3000 端口。

启动应用

在项目依赖安装完成后,可以运行以下命令启动应用:

$ npm run start

以上命令成功运行后,我们打开浏览器并访问 http://localhost:3000/,这时你将在浏览器看到 Hello World! 信息。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/09/16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Nest 简介
  • Nest 设计哲学
  • Nest 快速入门
    • 环境搭建
      • 目录结构
        • 启动应用
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档