Deno 是一个基于 V8 引擎的安全 TypeScript 运行时。它内置了多个标准库,包括 HTTP、WebSocket、JSON 等,可用于构建 Web 应用程序。然而,有时候我们可能会遇到找不到 http 库的问题,本文将介绍如何解决这个问题。
问题描述
当我们在 Deno 中使用 http 库时,可能会遇到以下错误:
error: TS2307 [ERROR]: Cannot find module 'http'
这是因为在 Deno 中,http 库不是默认加载的标准库之一。因此,如果我们想要使用它,需要手动引入。
解决方案
方案一:使用 fetch
在 Deno 中,我们可以使用 fetch 函数来发送 HTTP 请求,而不需要使用 http 库。fetch 函数是一个全局函数,因此我们可以在任何地方使用它。
以下是一个使用 fetch 函数发送 GET 请求的示例代码:
const response = await fetch('https://jsonplaceholder.typicode.com/posts'); const data = await response.json(); console.log(data);
方案二:手动引入 http 库
如果我们确实需要使用 http 库,可以手动引入它。在 Deno 中,我们可以使用 import 函数来引入模块。
以下是一个手动引入 http 库并发送 GET 请求的示例代码:
import { serve } from 'https://deno.land/std/http/server.ts'; const server = serve({ port: 8000 }); console.log('http://localhost:8000/'); for await (const request of server) { request.respond({ body: 'Hello Deno!' }); }
在这个示例中,我们使用了 serve
函数来创建一个 HTTP 服务器,并在本地的 8000 端口上监听请求。当有请求到达时,我们会返回一个包含 "Hello Deno!" 文本的响应。
总结
在 Deno 中,我们可以使用 fetch 函数来发送 HTTP 请求,也可以手动引入 http 库来构建自己的 Web 服务器。无论你选择哪种方式,都可以轻松地在 Deno 中使用 HTTP 协议。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65854a12d2f5e1655dff3694