首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
一起学Deno
纪轻昀
创建于2023-07-12
订阅专栏
仿照nswbmw当年的《一起学Node.js》,手把手教你用Deno搭建一个博客,让你对Deno能有所熟悉,在合适的场景灵活使用它。
等 2 人订阅
共40篇文章
创建于2023-07-12
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
2.5 通知
中间件 session.schema.ts 新建src/session/session.schema.ts。 从上文知道,SESSION_KEY可以是随机的,任何一个固定的字符串都可以,当然,网络协议
2.4 session介绍
上节我们实现了注册功能,但仍有个严重的问题,不论是成功还是失败,我们都没有给页面任何反馈。这也是缺失了我们页面设计里重要的一环——通知。 通知应该怎么实现呢? 这涉及到一个服务端开发一个重要的知识点—
2.3 注册
注册页面 修改src/user/user.controller.ts,把其它代码先删了。 新建views/signup.ejs: 我们这里没有用到JavaScript代码,用的原生表单提交,对每个字段
2.2 功能设计与页面设计
在开发前,先明确我们博客需要哪些功能。由于本教程面向初学者,所以只实现了博客最基本的功能,其余的功能(如用户管理、角色设置、归档、标签、分页等)读者可自行实现。 功能设计 功能及路由设计如下: 注册
2.1 惯例hello world
第二阶段说明 第二阶段,我们将使用oak_nest来搭建一个博客。本阶段仍不使用数据库。 目标: 用户注册、登陆、登出接口与页面交互 学会session 了解安全守卫 博客接口开发 留言接口开发 博客
1.13 添加日志
日志打印是一个服务系统的必备功能,在Java里常用的有log4j库,Node.js也有类似的,而在Deno中可以使用date_file_log来打印日志,最重要是有时间、日志级别和对应的信息。 con
1.12 配置文件
先看上节留的作业: 很容易想到解决方案: 读取环境变量 读取命令参数 读取配置文件 前两者也都很容易做到,Deno都提供了相关的API,比如读取环境变量只需要修改下src/main.ts中代码: 配置
1.11 使用oak_nest重构
控制反转 截止到目前2023年1月,Java语言基本被Spring框架一统天下,将来有没人能挑战它天下第一的宝座也未可知。 Spring有个非常经典的思想:控制反转(IoC),依赖注入(DI)。 折射
1.10 参数校验(下)
上面说过,参数校验可以在各个环节处理,只是上节我们选择的是在底层Model里进行过滤。 但多数情况下,我们都需要在最上层(控制层Controller)就进行校验。 比如我们有个属性是age,正常情况下
1.9 参数校验(上)
在浏览器打开http://localhost:8000/user,看下现在的数据。 我先把数据清掉。 打开浏览器F12,执行以下代码: 刷新页面: 是不是插入了一条不应该插入的数据?这就属于程序漏洞。
1.8 全局异常处理
上节最后提到: 我们先梳理下目前接口请求后代码流动情况: 可以看到,从mod.ts开始到最终model.ts处理完业务,中间每个环节都有可能产生异常,抛开oak框架本身处理的环节(1、2、3、8、9、
1.7 目录结构调整
我们新增了几个文件,现在有些混乱了,做一次目录结构调整。 deps.ts 项目根目录下,新建deps.ts文件,把我们目前用到的外部依赖库放进去: 如果这些外部依赖版本有变更,只需要修改这一个文件就可
1.6 引入DAO层
上节最后提到: 问题 先说2个问题。 1. id是自增数字 每次生成,都有两次IO(先读一次,再写一次)。当然,性能问题暂时不必考虑。 可能会暴露一些额外的信息。比如用户看到url:http://lo
1.5 拆分数据优化
上节最后,我提出一个疑问: 问题 其实早在1.3节,有段高亮的内容,不知道大家有没有注意到: 仔细看user.service.ts代码: 无论增加、修改还是删除,都需要先读取一遍所有数据,然后在它的基
1.4 使用localStorage持久化数据
Deno实现了浏览器的绝大多数API,其中就有localStorage,所以我们的数据完全可以存储在这里面。 改造 让我们对user.service.ts改造下: 去除constructor 修改ge
1.3 使用文件持久化数据
第一节说了,如果不做数据的持久化,服务重启后,我们之前做的所有操作就都失效了。 但怎么做持久化呢?最原始的方式当然是文件了。 新建.gitignore 根目录下新建一个.gitignore文件,把da
1.2 引入Service层
引入Service层,关注点分离,有利于通用的业务逻辑的独立性和重复利用性。如此一来用户信息如何存储,数据如何修改,上层都不必关注。
1.1 使用oak框架开发用户服务
使用Deno的oak框架开发用户服务,它是Node.js的koa框架的高仿版本,实现一个CURD的API不要太容易
一起学Deno - 开发前准备
在下来的教程前,你必须先掌握一些ES6、TypeScript的基本技能,以及掌握Deno的基础知识。
一起学Deno - 前言
仿照当年的《一起学Node.js》,手把手教你用Deno搭建一个博客,让你对Deno能有所熟悉,在合适的场景灵活使用它。