简介
Deno 是一个用于运行 JavaScript 和 TypeScript 的运行时环境。Deno 具有更好的安全性和更好的性能。随着 Deno 的不断成长,越来越多的开发者开始使用 Deno 构建 Web 应用程序。在这篇文章中,我们将深入讨论如何在 Deno 中处理 cookie。
什么是 cookie?
Cookie 是通过网络服务器用来保存客户端状态的一种技术。客户端是指使用 Web 浏览器等访问网络的用户。Cookie 是通过 Web 服务器向客户端发送的一个小型文本文件,其中包含着访问者的信息。例如,有些网站需要在浏览器中存储用户偏好设置或者购物车的内容,这时就可以使用 Cookie。
如何设置和读取 cookie
在 Deno 中设置和读取 cookie 有很多种方式。常见的一种方式是使用第三方模块 cookies
。
安装 cookies
可以使用以下命令安装 cookies
:
deno install -Af --unstable https://deno.land/x/cookies/mod.ts
示例代码
下面的示例代码演示了如何在 Deno 中设置和读取 cookie。
-- -------------------- ---- ------- ------ - ------------ ------ - ---- --------------------------------- ------ - ---------- --------- - ---- ------------------------------------- ----- --- - --- -------------- ----- ------ - --- --------- --------------- ----- -- - ----- ---- - ------------------------ ----------------- - ---- - ------ --------- - ------- ----- ---- ------- --- ---------------- ----- -- - ----- ---- - ------------------- ----- ------ - ----- ----------- ----- - ---- - - ------- -- ------ - ----------------------- ------ ----------------- - ------ ---------- - ---- - ----------------- - ------- ----- ---- ------- - --- ------------------------- --------------------------------- ------------ ----- ---- ---
在这个示例代码中,我们创建了一个 GET
和一个 POST
路由。当用户访问根路径时,我们会检查请求中是否有名为 name
的 Cookie,如果有,我们会返回 Hello ${name}!
,否则会返回 Please enter your name.
。
当用户提交一个表单时,我们会从请求体中获取 name
,如果存在 name
,我们设置 Cookie,并返回 Hello ${name}!
,否则返回 Please enter your name.
。
解读示例代码
ctx.cookies.get("name");
这个函数从请求中获取名为 name
的 Cookie。
ctx.cookies.set("name", "value");
这个函数设置一个名为 name
,值为 value
的 Cookie。
如何删除 cookie
为了删除一个 Cookie,我们需要设置它的值为空字符串以及设置过期时间为过去的时间。下面的示例代码演示了如何删除一个名为 name
的 Cookie。
ctx.cookies.set("name", "", { expires: new Date(0) });
在这个示例代码中,我们设置了名为 name
的 Cookie 的值为空字符串,并设置它的过期时间为过去的时间,这样就删除了这个 Cookie。
结论
在使用 Deno 构建 Web 应用程序时,我们需要处理 Cookie,以便跟踪用户状态。在 Deno 中,可以使用第三方模块 cookies
来设置、读取、删除 Cookie。
参考文献
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/671e1d712e7021665ef5fada