前提条件

学习者需要有一定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. java rhino js类_让Rhino JS看Java类
  2. 涂抹mysql笔记-mysql复制特性
  3. netflix 开源_Netflix的Polynote是一个新的开源框架,可用来构建更好的数据科学笔记本
  4. 前端学习(2400):关于aixos的create方法
  5. CLion导入用户自己的lib和头文件
  6. 杭州师范大学c语言程序设计机试,2016年杭州师范大学杭州国际服务工程学院程序设计基础考研复试题库...
  7. 关于数据库中的锁,你不知道的是...
  8. 如果你是壁纸控,高清图片这里找!
  9. [FW]修复ubutnu12.04+win7的grub2引导
  10. 彭怀湘:金融与大数据相约互联网+时代
  11. 推荐6款程序员开发编译工具
  12. ad采样信噪比与噪声_软件ad和硬件滤波 ad采样硬件滤波电路
  13. 解决局域网文件共享“****无法复制,指定的网络名不可用”
  14. ireport 循环_iReport制作报表1:iReport Designer的使用
  15. 清华学霸教你1小时入门 Python 爬虫,别说学长没帮你
  16. 编译原理——自下而上语法分析
  17. java模拟登陆京东_使用httpclient模拟登录京东帐户并抓取帐户信息
  18. 基于keras的mnist手写体识别程序
  19. Java之简单的图片动态显示(实现类似GIF动画结果)
  20. SpringBoot整合Mybatis mysql数据库增添查改,分页操作实现

热门文章

  1. 我们成功给OpenCV添加了三维点云降采样算法!
  2. 建立大数据技术体系学习的新思维
  3. 艾美捷Cas9核酸酶参数说明和应用
  4. 欲海回狂(白话版)戒淫奇书
  5. 推荐好书:About Face4, 交互设计精髓,英文原版,文字版,彩色
  6. unity-小球酷跑(日常课程)
  7. leetCode100题及答案(转载侵权删)
  8. 车灯的测试过程中的芯片载板烧录问题
  9. 四川大学锦城学院计算机基础考试,大学计算机基础期末考试样题1 四川大学锦城学院 天天...
  10. 从零开始创建一个个人博客前端Vue,后端node.js(第一天)