Next搭建组件库文档(二)- 支持markdown动态渲染
导读本文所述依赖如下的库包及其版本 包名 版本号 next 14.2.15 react 18.2.0 react-dom 18.2.0 @mdx-js/lodaer 3.1.0 @mdx-js/react 3.1.0 @next/mdx 15.0.2 @types/mdx 2.0.13 remark-gfm 4 remark-frontmatter 5.0.0 rehype-highlight 7.0.1 next-mdx-remote 5.0.0 本文的开发环境****基于 Macbook Pro M1 MacOS 14.6.1。 本地渲染支持由于我们的文档除了从packages/**加载的动态文档,还有next.js内部固定的文档。让我们先实现next.js内部的markdown解析和mdx的支持。 安装依赖与本地配置参考官方网站的配置 pnpm add @next/mdx @mdx-js/loader @mdx-js/react...
Next.js搭建组件库文档(一)项目的初始化配置
导读本文基于以下包和版本配置: 包名 版本号 next 14.2.15 react 18.2.0 react-dom 18.2.0 tailwindcss 3.4.1 @changesets/cli 2.27.9 @commitlint/cli 19.5.0 @commitlint/config-conventional 19.5.0 husky 9.1.6 typescript 5.4.4 本文介绍的开发环境是****Macbook Pro M1 MacOS 14.6.1。 项目启动与打包验证创建项目创建项目,使用next 14.2.15 1npx [email protected] 使用app router的模式 本地运行确保你使用了pnpm作为包管理工具,如果没有安装,请使用 npm i -g pnpm安装。 **本地运行项目,使用 **pnpm...
nextjs 使用react-hook-form和zod实现登录表单验证和提交
背景说明nextjs 使用中不可避免地会碰到使用表单,尤其是登录表单。而对于提交表单来说要关注的几个要素就是数据收集、数据校验和数据提交(涉及异步操作)。本文将围绕这几个要素,并通过zod和react-hook-form提供的能力实现登录表单。 本文所述依赖如下的库包及其版本 包名 版本号 next 14.2.15 react 18.2.0 react-dom 18.2.0 zod 3.24.1 react-hook-form 7.54.2 @hookform/resolvers 3.9.1 本文的开发环境基于 Macbook Pro M1 MacOS 14.6.1。 zod 简单上手zod 提供了简单的表单校验器,且支持typescript,并弥补了typescrip对运行时代码无法校验的不足,通过一次定义,不仅可以通过safeParse方法验证表单数据,导出错误,还可以通过z.infer推断表单模型的typescript类型。下载 1pnpm add zod 以邮箱登录表单为例 123456export const...
一网打尽手写Promise
导读首先,让我们回顾一下Promise的定义,为了偷懒,就直接复制粘贴了: 可以看到,Promise是一个允许异步操作的代理,我更愿意简单点叫它“容器”。 在各大面试题中,手写Promise是一道高频题,笔者自己也遇到了好几次,同时其也涉及到****事件循环的有关知识,为了进一步强化大家对于其原理和事件循环中微任务队列的关系,随将用比较长的篇幅着重介绍这些内容,并包含其PromiseLike、Awaited等typescript的类型推断。 如果你想直接查看代码,请移步我的 GitHub - zerotower69/handle-promise-TPromise-: achieve myself promise by using queueMicroTask...
如何在Nextjs中使用Supabse做权限认证
导读supabase介绍
Jenkins集成化部署环境准备
**jenkins网上有许多的教程都是安装jenkins的docker镜像,通过启动docker容器服务进而使用的jenkins服务,但是后续使用docker部署项目,就需要在docker容器里支持 **docker和docker-compose命令。对应地,有使用宿主机的docker环境和dokcer in docker的解决方案,但无论怎样,都有数不尽的坑,并且本来大家使用的服务器资源也不会太多,docker容器里新建docker部署将更为受限,因此,建议大家和我一样使用单机非docker安装jenkins。 如果使用的是centos的系统,在安装之前首先需要更新yum源,以防止一些内部软件包由于版本过老影响接下来的安装。不过在这里还需要补充一点,现在的jenkins已经在2023年停止了对centos7的支持,如果有条件请使用centos8以上的系统,笔者这里由于腾讯云只支持centos7的系统安装,没得选择了。 安装jdk17可以运行命令: 1sudo yum install fontconfig...