nest 介绍
nest 是一个用于构建高效,可扩展的 Node.js 服务器端应用程序的框架。它使用渐进式 JavaScript,内置并完全支持 TypeScript(但仍然允许开发人员使用纯 JavaScript 编写代码)并结合了 OOP(面向对象编程),FP(函数式编程)和 FRP(函数式响应编程)的元素。
在底层,nest 使用强大的 HTTP Server 框架,如 Express(默认)和 Fastify。nest 在这些框架之上提供了一定程度的抽象,同时也将其 API 直接暴露给开发人员。这样可以轻松使用每个平台的无数第三方模块。
设计哲学
近年来,感谢 Node.js,JavaScript 已成为前端和后端应用程序的网络“通用语言”。这产生了令人敬畏的项目,如 Angular,React 和 Vue,它们提高了开发人员的工作效率,并能够构建快速,可测试和可扩展的前端应用程序。然而,虽然 Node(和服务器端 JavaScript )存在大量优秀的库,帮助器和工具,但它们都没有有效地解决主要问题 - 架构。
nest 提供了一个开箱即用的应用程序架构,允许开发人员和团队创建高度可测试,可扩展,松散耦合且易于维护的应用程序
环境搭建
您可以使用 nest CLI 构建项目,也可以克隆启动项目(两者都会产生相同的结果)。
安装 cli
npm i -g @nestjs/cli
创建项目目录
nest new project-name
更简单些可以直接 clone 官方预设项目
git clone https://github.com/nestjs/typescript-starter.git project cd project npm install npm run start
新创建的 project-name 目录结构
├── 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.controller.spec.ts # 根控制器测试文件 ├── app.module.ts # 应用程序根模块 ├── app.service.ts # 根服务 └── main.ts # 应用程序入口文件
main.ts 代码
import { nestFactory } from '@nestjs/core'; async function bootstrap() { const app = await nestFactory.create(); await app.listen(6688); } bootstrap();
通过 async 和 await 来创建一个 nestFactory 的实例,并且监听 6688 接口
开启应用
npm start
项目会启动并监听一个接口 6688,此时访问 localhost:6688 或者 127.0.0.1:6688 可以看到 nest 信息
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。