nest.js入门一
前提条件
学习者需要有一定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入门一相关推荐
- Nest.js 入门
今天docker遇到了一直打不开的问题,一直报error,win版本不对,后来折腾到半夜才解决,看这篇文章,里面还有对WIN10家庭版怎么运行docker的描述. 回到正题,今天要分享的是今年Node ...
- 学完这篇 Nest.js 实战,还没入门的来锤我!(长文预警)
大厂技术 高级前端 Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 前言 最近一直比较忙, 而且自己工作中做的事也不适合写文章,所以一直没有更文.. 最近接到一 ...
- js return 后 运行 另_新手入门Nest.js(六) 控制器Resources、路由通配符
点击上方公众号,可快速关注 作者:鲲鹏友人原文链接:https://www.gowhich.com/blog/1067 Nest.js控制中的Resources 前面介绍了路由中如何通过GET方式访问 ...
- js 加入debug后可以进入controller_新手入门Nest.js(四) 控制器路由
点击上方公众号,可快速关注 作者:鲲鹏友人原文链接:https://www.gowhich.com/blog/1065 一个控制器的目的是接收来自应用的一个请求 路由机制控制了控制器接收哪个请求 通常 ...
- Nest.js 从零到壹系列(六):用 15 行代码实现 RBAC 0
本文由图雀社区认证作者 布拉德特皮 写作而成,点击阅读原文查看作者掘金链接,感谢作者的优质输出,让我们的技术世界变得更加美好???? 上一篇介绍了如何使用 DTO 和管道对入参进行验证,接下来介绍一下 ...
- 【好文翻译】Difference Between Next.js vs. Nuxt.js vs. Nest.js
Difference Between Next.js vs. Nuxt.js vs. Nest.js 编程可以被认为是创造一些令人惊奇和信息事物的过程.如果你是一个程序员,你必须同每项新兴前沿技术保持 ...
- js模板字符串自定义类名_【Vue.js 入门到实战教程】07Vue 组件注册 | 基本使用和组件嵌套...
来源 | https://xueyuanjun.com/post/21929除了前面介绍的基本语法之外,Vue.js 还支持通过组件构建复杂的功能模块,组件可以称得上是 Vue.js 的灵魂,是 Vu ...
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- Ember.js入门教程、博文汇总
第一章 对象模型 Ember.js 入门指南--类的定义.初始化.继承 Ember.js 入门指南--类的扩展(reopen) Ember.js 入门指南--计算属性(compute properti ...
最新文章
- java rhino js类_让Rhino JS看Java类
- 涂抹mysql笔记-mysql复制特性
- netflix 开源_Netflix的Polynote是一个新的开源框架,可用来构建更好的数据科学笔记本
- 前端学习(2400):关于aixos的create方法
- CLion导入用户自己的lib和头文件
- 杭州师范大学c语言程序设计机试,2016年杭州师范大学杭州国际服务工程学院程序设计基础考研复试题库...
- 关于数据库中的锁,你不知道的是...
- 如果你是壁纸控,高清图片这里找!
- [FW]修复ubutnu12.04+win7的grub2引导
- 彭怀湘:金融与大数据相约互联网+时代
- 推荐6款程序员开发编译工具
- ad采样信噪比与噪声_软件ad和硬件滤波 ad采样硬件滤波电路
- 解决局域网文件共享“****无法复制,指定的网络名不可用”
- ireport 循环_iReport制作报表1:iReport Designer的使用
- 清华学霸教你1小时入门 Python 爬虫,别说学长没帮你
- 编译原理——自下而上语法分析
- java模拟登陆京东_使用httpclient模拟登录京东帐户并抓取帐户信息
- 基于keras的mnist手写体识别程序
- Java之简单的图片动态显示(实现类似GIF动画结果)
- SpringBoot整合Mybatis mysql数据库增添查改,分页操作实现