简介
@the-/server 是一个轻量级的 Node.js 应用服务库,可以用来构建 Web 应用、API 和 WebSocket 服务。此外,它还支持多应用环境,多种部署方式以及高可用性。
安装
使用 npm 进行安装:
npm install --save @the-/server
快速开始
创建一个 index.js
文件:
const { createServer } = require('@the-/server') createServer(() => { console.log('Hello, world!') })
启动服务:
node index.js
访问 http://localhost:8080,可以看到输出了 "Hello, world!"。
配置
createServer()
函数有如下可选参数:
port
,指定服务的端口号,默认为 8080。host
,指定服务的主机名,默认为 "localhost"。accessLog
,是否启用访问日志,默认为 true。appRoot
,指定应用程序根目录,默认为 "."。
例如:
-- -------------------- ---- ------- ----- - ------------ - - ----------------------- --------------- -- - ------------------- -------- -- - ----- ----- ----- ---------- ---------- ------ -------- ---------- --
路由
@the-/server 采用了 Express 风格的路由规则。
const { createServer } = require('@the-/server') createServer((router) => { // 一个简单的路由 router.get('/', (req, res) => { res.end('Hello, world!') }) })
在这个例子中,我们创建了一个 GET 请求的路由。访问根目录 /
的时候,服务会返回 "Hello, world!"。
还可以通过 URL 参数来传递数据:
-- -------------------- ---- ------- ----- - ------------ - - ----------------------- --------------------- -- - -- -------- ----------------------- ----- ---- -- - ----- - -- - - ---------- ------------- ------- -- --
在这个例子中,我们在 URL 中定义了参数 :id
,当访问 /user/123
的时候,服务会返回 "User 123"。
中间件
中间件是在请求和响应之间处理的函数。它可以用来处理请求的参数、验证和处理响应等操作。
-- -------------------- ---- ------- ----- - ------------ - - ----------------------- --------------------- -- - -- ----- ----- ------------- - ----- ---- ----- -- - ----------------------- ------------ ------ - -- --------- --------------- -------------- ----- ---- -- - --------------- -------- -- --
在这个例子中,我们定义了一个中间件 addXPoweredBy
,它会在响应中添加一个名为 X-Powered-By
的头部。然后我们在路由中使用了这个中间件。
WebSocket
@the-/server 还支持实时性应用程序的构建,例如聊天室和游戏。
-- -------------------- ---- ------- ----- - ------------ - - ----------------------- --------------------- -- - -- -- --------- --- ------------------ ---- ---- -- - ---------------- --------- -- - ------------------------ -------- ------------ ---- -------------- -- -- --
在这个例子中,我们添加了一个 WebSocket 监听器,它会在客户端发送消息到服务器时响应。这个调用是阻塞的,因为我们要保持连接的活性,直到关闭连接为止。
在客户端,可以使用任何现代浏览器支持的 WebSocket 库来连接服务器。
-- -------------------- ---- ------- --------- ----- ------ ------ -------- ----- -- - --- ------------------------------------- --------------------------- -- -- - ------------------------ --------------- --------- -- ------------------------------ ------- -- - ------------------------ ----------- -- ---------------------------- -- -- - --------------------------- -- --------- ------- -------
结束语
在这篇教程中,我们了解了如何使用 @the-/server 库来构建 Web 应用、API 和 WebSocket 服务。我们学习了如何配置和使用路由和中间件,以及如何使用 WebSocket 监听器实现实时性应用程序。
希望这篇教程可以帮助你快速上手使用 @the-/server 库。如果你需要更深入的了解,请参考官方文档。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/191041