Web Series | 现代 Web 开发基础与工程实践
📖 Home
🌟 Star on Github
💻 Code
Search…
Introduction
Node
Introduction
BFF
Egg
Express
GraphQL
Koa
Nest
中间件
关系型数据库
微服务
模块化分与依赖注入
测试与发布
请求处理
事件 IO
全栈开发
包管理器
实时通信
工程实践
开发环境
快速开始
文件存储
权限认证
生产调优
系统进程
React
Introduction
Antd
Fiber 与调和算法
GraphQL
Hooks
React Router
Storybook
Ueact
事件系统
函数式组件
异步加载
快速开始
性能优化
服务端渲染
测试
状态管理
类 React 库
类组件
组件数据流
组件样式
组件系统
组件范式
背景特性
设计模式
过渡与动画
静态类型
Vue
Introduction
TypeScript
Vuex
工具链
性能优化
架构机制
状态管理
组件
工程实践
Introduction
Chrome Extension
Web 测试
Webpack
主题样式
低代码搭建
前端路由
响应式适配
国际化
异常处理
录屏与重放
控件开发
数据请求
构建工具
浏览器自动化
端到端测试
编码规约与协作
调试
面试准备
开发基础
Introduction
CSS 处理器
CSS 模块化
CSS
DOM
HTML
Observer
WebAssembly
WebWorker
jQuery
事件响应
元素布局
变换与动画
导论
数据存储
盒模型与文档流
网络请求
跨域通信
架构与优化
Introduction
MVVM
MobX
PWA
Redux
SPA
Svelte
Virtual DOM
WebComponents
优化案例
体验优化
内存优化
前端工程化
前端框架
微前端
性能监控与度量
浏览器工作机制
渲染执行优化
状态管理
组件化
资源加载优化
混合开发
Introduction
Cordova
Electron
Flutter
React Native
Remax
Taro
Weapp
小程序
Powered By
GitBook
Nest
Nest
近些年来,随着 Node.js 的发展,JavaScript 日渐成为 Web 开发中前后端皆可用的最流行语言,也为 Angular、React、Vue.js 这些优秀的前端项目的崛起提供了基石。而 Next.js 则致力于提供开箱即用的应用架构,允许开发者快速构建高可测试、可扩展、松耦合、易维护的 Node.js Web 应用。
Nest.js
基于 TypeScript 构建,其和 TypeScript 无缝衔接,同时允许开发者使用现代 JavaScript 进行开发。Nest.js 融合了面向对象编程 OOP、函数式编程 FP、函数响应式编程 FRP 的优秀思想,为开发者提供了完善的功能特性与使用体验;其底层使用了 Express,也方便了开发者集成 Express 生态圈相关的第三方插件。Next.js 的主要特性包括:依赖注入、WebSockets、模块化、响应式微服务、异常处理层、用于校验的 Pipe、用于角色化权限控制的 Guards、Interceptors、单元测试与集成测试等。
本部分主要介绍 Nest.js 项目的基本搭建与请求处理相关内容,建议是直接下载官方的 TypeScript 模板作为项目初始化模板:
$
git
clone https://github.com/nestjs/typescript-starter.git project
$
cd
project
$
npm
install
$
npm
run start
import
{
NestFactory
}
from
'@nestjs/core'
;
import
{
ApplicationModule
}
from
'./modules/ApplicationModule'
;
async
function
bootstrap
()
{
const
app
=
await
NestFactory
.
create
(
ApplicationModule
);
await
app
.
listen
(
3000
);
}
bootstrap
();
控制器
// ApplicationModule.ts
import
{
Module
}
from
'@nestjs/common'
;
import
{
HelloController
}
from
'../controller/HelloController'
;
@
Module
({
modules
:
[],
controllers
:
[
HelloController
]
})
export
class
ApplicationModule
{}
// HelloController.ts
import
{
Controller
,
Get
}
from
'@nestjs/common'
;
@
Controller
(
'/'
)
export
class
HelloController
{
@
Get
()
hello
()
{
return
'Next.js Boilerplate @ 王下邀月熊'
;
}
}
import
{
Controller
,
Get
,
Post
}
from
'@nestjs/common'
;
@
Controller
(
'cats'
)
export
class
CatsController
{
@
Post
()
create
()
{
// TODO: Add some logic here
}
@
Get
()
findAll
()
{
return
[];
}
}
Node - Previous
Koa
Next
中间件
Last modified
2yr ago
Copy link
Outline
Nest
控制器