前提条件

学习者需要有一定node.js,typescript基础。这里就不从安装node.js开始,请自行到https://nodejs.org/zh-cn/下载安装。不熟悉typescript的哥们请到https://www.tslang.cn/docs/handbook/basic-types.html熟悉一下typescript概念。

介绍

Nest (NestJS) 是一个用于构建高效、可扩展的Node.js服务器端应用程序的框架。它使用渐进式 JavaScript,使用 TypeScript 构建并完全支持TypeScript(但仍允许开发人员使用纯 JavaScript 进行编码),并结合了 OOP(面向对象编程)、FP(函数式编程)和 FRP(函数式反应式编程)的元素。

在底层,Nest 使用了强大的 HTTP 服务器框架,比如Express(默认),并且可以选择配置为使用Fastify!

Nest 在这些常见的 Node.js 框架(Express/Fastify)之上提供了一个抽象级别,但也将它们的 API 直接暴露给开发人员。这使开发人员可以自由使用可用于底层平台的无数第三方模块。

理念

近年来,由于 Node.js,JavaScript 已成为前端和后端应用程序的网络“通用语”。这催生了Angular、React和Vue等很棒的项目,它们提高了开发人员的工作效率,并支持创建快速、可测试和可扩展的前端应用程序。然而,虽然 Node(和服务器端 JavaScript)存在大量出色的库、帮助程序和工具,但它们都没有有效地解决架构的主要问题。

Nest 提供了一个开箱即用的应用程序架构,允许开发人员和团队创建高度可测试、可扩展、松散耦合且易于维护的应用程序。该架构深受 Angular 的启发。

安装

首先,您可以使用Nest CLI构建项目,或者克隆一个启动项目(两者都会产生相同的结果)。

要使用 Nest CLI 构建项目,请运行以下命令。这将创建一个新的项目目录,并使用初始核心 Nest 文件和支持模块填充该目录,为您的项目创建一个常规的基础结构。建议初次使用的用户使用Nest CLI创建新项目。我们将在第一步中继续使用这种方法。

$ npm i -g @nestjs/cli
$ nest new project-name

提示:要创建启用 TypeScript严格模式的新项目,请将–strict标志传递给nest new命令。

替代方案

或者,使用Git安装 TypeScript 版启动项目:

$ git clone https://github.com/nestjs/typescript-starter.git project
$ cd project
$ npm install
$ npm run start

打开浏览器并导航到http://localhost:3000/。
您还可以通过使用npm(或yarn)安装核心和支持文件来从头开始手动创建新项目。当然,在这种情况下,您将负责自己创建项目样板文件。

$ npm i --save @nestjs/core @nestjs/common rxjs reflect-metadata

nest.js入门一相关推荐

  1. Nest.js 入门

    今天docker遇到了一直打不开的问题,一直报error,win版本不对,后来折腾到半夜才解决,看这篇文章,里面还有对WIN10家庭版怎么运行docker的描述. 回到正题,今天要分享的是今年Node ...

  2. 学完这篇 Nest.js 实战,还没入门的来锤我!(长文预警)

    大厂技术  高级前端  Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 前言 最近一直比较忙, 而且自己工作中做的事也不适合写文章,所以一直没有更文.. 最近接到一 ...

  3. js return 后 运行 另_新手入门Nest.js(六) 控制器Resources、路由通配符

    点击上方公众号,可快速关注 作者:鲲鹏友人原文链接:https://www.gowhich.com/blog/1067 Nest.js控制中的Resources 前面介绍了路由中如何通过GET方式访问 ...

  4. js 加入debug后可以进入controller_新手入门Nest.js(四) 控制器路由

    点击上方公众号,可快速关注 作者:鲲鹏友人原文链接:https://www.gowhich.com/blog/1065 一个控制器的目的是接收来自应用的一个请求 路由机制控制了控制器接收哪个请求 通常 ...

  5. Nest.js 从零到壹系列(六):用 15 行代码实现 RBAC 0

    本文由图雀社区认证作者 布拉德特皮 写作而成,点击阅读原文查看作者掘金链接,感谢作者的优质输出,让我们的技术世界变得更加美好???? 上一篇介绍了如何使用 DTO 和管道对入参进行验证,接下来介绍一下 ...

  6. 【好文翻译】Difference Between Next.js vs. Nuxt.js vs. Nest.js

    Difference Between Next.js vs. Nuxt.js vs. Nest.js 编程可以被认为是创造一些令人惊奇和信息事物的过程.如果你是一个程序员,你必须同每项新兴前沿技术保持 ...

  7. js模板字符串自定义类名_【Vue.js 入门到实战教程】07Vue 组件注册 | 基本使用和组件嵌套...

    来源 | https://xueyuanjun.com/post/21929除了前面介绍的基本语法之外,Vue.js 还支持通过组件构建复杂的功能模块,组件可以称得上是 Vue.js 的灵魂,是 Vu ...

  8. React.js入门笔记

    # React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...

  9. Ember.js入门教程、博文汇总

    第一章 对象模型 Ember.js 入门指南--类的定义.初始化.继承 Ember.js 入门指南--类的扩展(reopen) Ember.js 入门指南--计算属性(compute properti ...

最新文章

  1. php 当前linux用户权限,Linux 下用户组别权限的理解
  2. 【scala】 scala xml 处理(⑨)
  3. Mac动态壁纸应用Dynamic Wallpaper 11
  4. c语言中有123f,C语言库函数(S类字母) - 3
  5. Structed Streaming(Continuous Processing报错):StreamingQueryException;java.util.NoSuchElementException
  6. OpenStack(Rocky)配置sFlow+floodlight实现简单SDN
  7. 基于注解的Excel导出万能模板
  8. akoj-1170-国王的魔镜
  9. python实现conv(卷积),dept_conv(通道卷积),batchnorm(批量归一化)的前向过程(一)
  10. 年会弹幕文字_微信弹幕_微信墙/弹幕抽奖/晚会年会必备互动
  11. kNN算法解析及应用【内附详细代码和数据集】
  12. Android系统Crash/ANR类型弹框
  13. 研发效能双周报 10 月 vol.2 | 两份技术前瞻,哪些新技术将助力效能提升?
  14. 30个单片机常见问题及解决办法!
  15. MediaPlayer简单使用
  16. 原生混合云——经政企打磨方能赢得政企信任
  17. 算法描述怎么写伪代码java_伪代码描述算法
  18. java使用 Batik svg代码转换成png图片 JPEGTranscoder/PNGTranscoder 转图片 linux 中文乱码
  19. 【Day6-7 文献精读】A unifying Bayesian framework accounting for spatiotemporal interferences with a ...
  20. 【HTB靶场记录】TIER-0

热门文章

  1. 一文学会非标准的11位手机号码如何开启国内业务和黑白名单功能
  2. Android 反编译获取class代码
  3. tp5 php 使用 PhpOffice\PhpWord 扩展生成pdf 文件
  4. Java学习 --- springSecurity基于注解配置
  5. 如何使用ODX描述诊断会话和安全等级
  6. 机器人仿真或者开发平台
  7. pscad 如何产生一个阶跃信号_在PSCAD中实现故障起始角控制及自动遍历的方法与流程...
  8. 《Python源码剖析》
  9. FastText 总结:文本分类、词向量训练、参数详解
  10. VS2019统计代码行数