自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(213)
  • 收藏
  • 关注

原创 JWT 没那么神秘,用它换掉 Session + Cookie 认证

本项目代码已开源,具体见。数据库初始化脚本:关注公众号,回复关键词“博客数据库脚本”,即可获取。

2024-07-22 09:04:10 2572

原创 我的 VSCode 彻底崩溃了,重新安装无效,踩坑分享

换句话说,如果不删除这些,仅仅是卸载 VScode 程序,重新安装 VSCode 就会保持卸载前的状态。理性思考后,我想着既然系统功能都正常了,那多多少少还是 VSCode 自己的问题,会不会卸载过程中还留下了什么数据没删掉?而当我们遇到不可解决的 bug 时,此时的状态是一个糟糕的状态,也就没有保持的必要,如果不彻底清理 VSCode 用户数据,就无法正常使用。只要卸载程序后,将这两个文件夹顺手清空,就能恢复到一个干净的状态,重新运行 VSCode 安装程序就能正常使用了,也就不会遇到这个。

2024-07-21 19:29:26 867

原创 使用 Docker 搭建 NodeJS 开发环境是一种什么体验?

最近和一些小伙伴在沟通这个博客全栈项目时,会发现其中一些朋友在安装依赖这个阶段就出现问题了,总是会问我“为什么依赖安装失败?”这个问题可能是前端或者 node 领域最常见的问题了,基本上每个人都遇到过,拉取一个项目后,依赖都装不成功,何谈继续使用呢?依赖安装阶段就失败,一部分原因来自于依赖版本锁的宽松性,很多时候我们不会锁死一个依赖的版本号,而是会采用这种范围限制,这就会导致在的时候,可能会尝试去安装一个更高版本的依赖,而这个更高版本的依赖可能会带来它的一些依赖项的兼容性问题,引起安装阶段报错。

2024-07-21 19:23:34 869

原创 轻松学会生产环境 Docker 部署 Nodejs Express 项目

在前面的分享中,我们学会了使用 Docker 部署 Vue 前端项目,也学会了在 github actions 进行自动化部署。本文就来继续学习一下使用 Docker 部署 Express 项目,并最终将其移植到 github actions 中。

2024-07-21 19:19:50 989

原创 在 CI/CD 中怎么使用 Docker 部署前端项目?

在上一篇文章《前端不懂 Docker?先用它换掉常规的 Vue 项目部署方式》中,我们学会了怎么使用 docker 制作镜像、推送镜像到 aliyun 私有镜像仓库,也学会了怎么在服务器上拉取最新的镜像进行容器部署。不过,这些都是过程式的命令,我们需要把这些过程提炼出来做成脚本,最终在 CI/CD 工具中直接使用,以实现全自动化的部署。具体怎么做呢?我们来看看!

2024-07-21 11:21:15 698

原创 五分钟学会 Docker Registry 搭建私有镜像仓库

在上一篇文章《》中,我们学习了如何使用 aliyun 私有镜像仓库,也了解到可以使用 Docker Registry 搭建私有镜像仓库。这篇文章就分享下实操过程。是官方提供的 registry 镜像,可以用来搭建私有镜像 registry,有了它,我们就可以建立起私有的镜像仓库。

2024-07-21 11:11:48 1275

原创 前端不懂 Docker ?先用它换掉常规的 Vue 项目部署方式

本项目代码已开源,具体见:数据库初始化脚本:关注公众号,回复关键字“博客数据库脚本”,即可获取。

2024-07-20 12:07:57 1360

原创 小程序博客搭建分享,纯微信小程序原生实现

我是在 2019 年启动这个全栈博客项目的,当时自己的前端技术其实也不怎么样,但是我脑子里就一个想法,必须掌握一点点全栈技术,了解整个系统全栈是怎么运行起来的。于是,我就决定自己动手做一个全栈的博客,当时也还从没在公司做过小程序项目,就想着也做个小程序版的博客练练手。我学习一个新东西不太喜欢一来就上框架,我会先开始学一点最原始的基础,有了基础后,再换框架做,这样效率高,同时遇到框架问题也不至于由于没有了解过底层基础而无从下手去解决。

2024-07-20 12:06:16 827

原创 前端上手全栈自动化部署,让你看起来像个“高手”

作为前端开发,你或许开发过很多酷酷的界面效果,做过很多复杂的产品需求,但是可能对服务器生产部署还不是很清楚。没关系,本文会分享一个开源博客系统是如何将前后端自动化部署到生产环境的,如果你正好缺乏这项技能,相信本文一定会给你带来巨大的价值,系好安全带,准备发车吧!

2024-07-19 09:16:15 641

原创 前端轻松拿捏!最简全栈登录认证和权限设计!

你或许作为前端的课代表,开发了很多高级的登录功能,比如扫码登录、手机号一键登录、第三方授权登录、生物认证登录等,对 OAuth、JWT、双 Token 等关键词也能脱口而出,但是你可能还从未以一个全栈的身份完整地开发过一个登录功能。没关系,本文的目的就是解决你的这份忧虑,从一个极简的全栈登录认证功能入手,打破这个枷锁!前几篇文章提到过,在博客系统中,我们需要后台管理功能去维护我们的文章、留言评论等内容。既然是这样,后台管理的安全问题也得考虑,登录和权限设计是非常有必要的。

2024-07-19 09:00:08 1175

原创 别背八股文了,WebSocket 是什么,我劝你花几分钟让面试官惊艳!

作为前端工程师,我们几乎每天都在使用 ajax / fetch 请求与后端进行数据交互,这种基于请求-响应的通讯模式,我们再熟练不过了,无论是C端产品或者是B端产品,都离不开这种通讯模式。但是像即时通讯IM类场景,通常不会选择这种“你来我回”的通信模式,而是会选择 WebSocket 这类的全双工通信模式。本文会带您全方位去了解一下 WebSocket 的本质,方便您搞清楚“Connection: Upgrade 是什么意思,为什么是它?”、“Upgrade: WebSocket 又是什么意思?

2024-07-18 09:39:43 800

原创 评论系统的全栈设计思路,学会自己也能快速上手搭建

上篇文章讲完了文章详情页的整体实现思路,但是唯独没有讲到评论的实现,因为我认为评论这个功能的实现用几百到一千的文字根本讲不清楚,必须要单独抽离出来,而且文章评论和留言板又有很多相通之处,或者说本质上是一样的!

2024-07-17 13:54:58 934

原创 一篇博客如何来到用户面前,分享前端也能看懂的文章详情页全栈设计

本项目代码已开源,具体见:数据库初始化脚本:关注公众号,回复关键字“博客数据库脚本”,即可获取。根据费曼学习法,把知识传递给别人并让ta懂,你才是真的学会了,好的,不偷懒,继续更新!

2024-07-16 09:33:56 942

原创 在 Docker 容器中运行 Vite 开发环境,有这两个问题要注意

容器化开发给我们带来了很多便捷,但是在开发环境下也有一些问题要注意,如果不解决这些问题,你的开发体验不会很好。

2024-07-07 15:41:29 449

原创 Vite 中怎么添加全局 scss 文件

通过这些步骤,你就可以在 Vite 项目中成功添加并使用全局 SCSS 文件了。这种方法可以让你在整个项目中共享 SCSS 变量、mixins 和其他全局样式,提高代码的复用性和维护性。注意,对于 mixin 文件,需要在 vite.config.ts 中进行配置,而不是在 main.ts 中直接导入.当我们使用 scss 时,希望能够把一些定义变量,定义mixin 的文件全局加载,避免每处用到还要单独引入这些文件。在 src 目录下创建一个 styles 文件夹,并添加你的全局 SCSS 文件,例如。

2024-07-05 15:18:20 951

原创 用 Coze 挖掘出疑似的掘金标题党,纯娱乐

最近 AI 的热度居高不下,Sora 横空出世又在 AI 话题上掀起了一个新的高潮。虽然每天还是会时不时的用一些平台的大模型工具帮助自己打开思路、提高工作效率,但是像这样的 AI 应用一站式平台,我之前确实没使用过。

2024-07-04 10:23:42 988

原创 一键到顶和侧边弹射效果制作,复习巩固“切图仔”基本技能

2023 年再写一键到顶和侧边菜单栏弹射效果显得过于简单,不过既然是目录里规划好的一篇内容,咱还是按计划把它完成。首先通过两个动图看看具体效果,再来研究怎么实现!一键到顶:侧边菜单栏弹射效果:既然上面两种方法的兼容性不是很好,那么我们可以尝试自己用 JS 实现一下。得益于 JS 的灵活性,整个滚动行为的缓动效果和时长我们都能很好地控制。这里有两个问题要考虑,一个是总时长,一个是缓动效果。假设网页当前滚动的距离是1000px,计划0.5秒完成滚动到顶部的效果,假设是匀速滚动,那么相当于每个px。

2024-07-03 09:38:50 645

原创 git commit 怎么跳过 husky, commitlint 的检查

我们引入 commitlint 是为了保障代码入库的质量,但是有些时候,我们需要应急处理,比如你在升级框架时,通常不是一两天能解决的,可能希望临时把代码提交到一个分支,而这个时候,你改造的代码可能会有很多报错,这就意味着很难通过 commitlint 的检查。需要注意的是,这仅仅是应急使用,不要在正常开发节奏中跳过 commitlint 检查,这可能会导致 commit 质量下降,应该谨慎使用这些方法。可以在 commitlint 配置中设置忽略包含特定关键词的 commit。可以临时重命名或删除。

2024-07-02 23:34:09 746

原创 vue2 遇到 ?? 操作符不兼容问题,只要这两步就解决

我的 Vue2 项目是用 Vue CLI 搭建的,使用的 @vue/cli-service 是 4.5.x 版本。最后修改 vue.config.js,将 mermaid 加入到 transpileDependencies。研究过后,发现是?操作符不兼容,这个可以用 babel 配置解决。重新启动项目就不会报错了。

2024-07-02 15:13:15 274

原创 跨域不一定不能共享 cookie

例如,baidu.com可以设置cookie的域名为.baidu.com,使其子域名如www.baidu.com、map.baidu.com等都能访问该cookie.然而,值得注意的是,虽然端口不同在理论上应该被视为跨域,但在实际的 cookie 共享机制中,同一域名下的不同端口可以共享 cookie。同一域名下的不同子域名可以共享cookie。虽然端口不同的情况下可以共享cookie,但完全不同的域名(例如example.com和example.org)之间默认情况下仍然不能共享cookie。

2024-07-01 17:50:21 536

原创 解决 prettier/prettier 和 indent 冲突问题和一点简单思考

用过 prettier 的都知道,经常会遇到 prettier 与 eslint 的某些规则冲突的情况。在之前的一篇文章中,我简单地描述过怎么搭建起应用 eslint/prettier 的基本配置,也提到了怎么解决 prettier 与 eslint 的一些冲突问题。

2024-07-01 10:15:47 1190

原创 为什么 npm run serve 正常,npm run build 就报错:digital envelope routines::unsupported

这个错误通常与 Node.js 版本和使用的加密算法有关。

2024-06-30 12:42:11 763

原创 关于 pnpm monorepo 项目中 TS2742 Error 的 workaround

最近我在使用 pnpm 作为包管理器开发一个 monorepo 项目,从个人体验来说,在 monorepo 项目中,pnpm 确实要比 yarn classic 用得舒心,最让我欣喜的是 pnpm 对 workspace 协议的支持度很好;另外感受比较明显的一点就是,开发过程中感知到的由于依赖层级导致的 bug 也变少了。但是任何事情都不可能是完美的。果不其然,一个关键的 bug 就在等着我。

2024-06-23 21:13:50 1245

原创 昨天发的 npm 包,却因为 registry 同步问题无法安装使用

如果你需要用到 HBuilderX 安卓云打包,就必须及时跟进 HBuilderX 的版本更新,否则可能会因为编译时和运行时版本不一致而在APP运行时爆出提示,如果这个提示被用户看见,那就有点尴尬。我想大概率是 registry 的问题,在国内环境,我们通常会用到 npmmirror,如果镜像站和源站的资源信息不同步,就有可能会出现这个问题。用过 HBuilderX 云打包的都知道,云上面的 Android 环境很有限,其实并不能覆盖 uniapp 生态所有的版本,甚至说只能覆盖最新的一两个版本。

2024-06-20 11:08:53 518

原创 前端如何学会全栈分页开发?源码和思路都在这了

这是博客系列中一篇讲具体业务的,话题是分页模型和滚动加载。分页和滚动加载,各位前端大佬们没做一千次也做了一百次了吧。所以光说前端没多大意义,这里是准备结合前后端的视角看看分页和滚动加载的实现,本质上也不难,高手直接略过。如果您对后端或数据库还比较陌生,相信读完本文您会有所收获!

2024-05-26 16:33:24 861

原创 Vue3+TS+Node打造个人博客(前端架构)

本文始于2022年12月,目录里规划了这么一篇,算是给自己挖的坑,对于架构,一直不知道要写什么,因为写着写着就觉得泛泛而谈,食之无味,可能是水平有限。今天接着写完也算是给自己一个交待吧,想到哪就写到哪,有兴趣的朋友可以浏览一下。

2023-11-16 10:16:56 305

原创 .vue 怎么变成 .js,我们来试一试!看完会更懂 Vue 吗?

本文是基于Vite+AntDesignVue打造业务组件库[1]专栏第 12 篇,坚持就是胜利!接着上篇说,交付一个 vue 组件不仅需要解析 DSL,还要处理 JS/TS,样式,类型声明等内容。我们先研究一下将 .vue 转换成 .js 的问题,这个是关键。谁能处理 .vue 文件?要想把 .vue 变成 .js,首先要知道什么工具能处理 .vue 文件,是不是很容易想到我们熟悉的 Webpac...

2023-03-02 08:15:58 3071

原创 你每天都在用element, antd,但你知道组件库要对外提供什么吗?

本文是基于Vite+AntDesignVue打造业务组件库[1]专栏第 11 篇,坚持就是胜利!最近突然悟到:自己写文章太执着于在一篇文章中把一个事情从头到尾写清楚,这样就导致虽然我把事情讲完了,但是对读者来说不是很友好,因为大家很难有耐心看完几千字甚至更多文字,这样对你对我来说都不好,我得不到反馈,你看不到重点。所以,接下来我打算改掉这个坏习惯,尽量能把一个问题拆解得简单化,通过一个总分(总)的...

2023-03-01 08:15:22 836

原创 在 monorepo 中怎么组织和优化研发流程?

本节涉及的内容源码可在vue-pro-components c9 分支[1]找到,欢迎 star 支持!本文是基于Vite+AntDesignVue打造业务组件库[2]专栏第 10 篇文章【在 monorepo 中怎么组织和优化研发流程?】,前面几篇都在说函数库开发的相关内容,所以本文接着围绕这块说,主要是把研发流程梳理清楚,方便后续更多内容的铺开。梳理研发流程我们先粗略整理一下函数库的主要研发流...

2023-02-28 08:15:10 407

原创 函数库Rollup构建优化

本节涉及的内容源码可在vue-pro-components c7 分支[1]找到,欢迎 star 支持!前言本文是基于Vite+AntDesignVue打造业务组件库[2] 专栏第 8 篇文章【函数库Rollup构建优化】,在上一篇文章的基础上,聊聊在使用 Rollup 构建函数库的过程中还可以做哪些优化。terser 压缩在上篇文章中,我们掌握了怎么打包 ESM, CJS, UMD,还掌握了怎么...

2023-02-25 08:17:06 518

原创 在本地和CI/CD中支持npm免登录发布

本节涉及的内容源码可在vue-pro-components c8 分支[1]找到,欢迎 star 支持!前言本文是 基于Vite+AntDesignVue打造业务组件库[2] 专栏第 9 篇文章【在本地和CI/CD中支持npm免登录发布】,专门分享一下如何在 npm 发包时支持免登录发布,并同时支持在本地和CI/CD中操作发布流程。在组件库技术选型和开发环境搭建[3]这篇文章中,我们简单介绍了怎么...

2023-02-24 08:15:03 761

原创 【送小册五折码】调试不方便?我直接把公众号网页线上环境搬到本地!

【留言送3个掘金小册五折优惠码,规则见文末】在开发微信公众号网页时,我们最关心的一个问题就是调试。怎么调试线上环境?调试是否足够方便?本文分享一种能够极大提高效率的微信公众号网页开发调试技巧,可以实现在本地开发时直连线上生产环境。如果你还不清楚这种场景下的调试技巧,不妨花几分钟阅读本文。微信生态内容管控在了解调试技巧的基本原理之前,我们有必要先搞明白微信在内容管控上是怎么做的,知己知彼才能找到突破...

2023-02-23 10:00:30 822 2

原创 前端常见登录方案梳理

前端登录有很多种方式,我们来挑一些常见的方案先梳理一下,后续再补充更多的。账号密码登录在系统数据库中已经有了账号密码,或者通过注册渠道生成了账号和密码,此时可以直接通过账号密码登录,只要账号密码正确就认为身份合法,可以换到系统访问的 token,用于后续业务鉴权。验证码登录比如手机验证码,邮箱验证码等等。用户首先提供手机号/邮箱,后端根据会话信息生成一个特定的码下发到用户的手机或者邮箱(通过运营商...

2023-02-22 10:00:12 707

原创 在发布组件库之前,你需要先掌握构建和发布函数库

本节涉及的内容源码可在vue-pro-components c6 分支[1]找到,欢迎 star 支持!前言本文是 基于Vite+AntDesignVue打造业务组件库[2] 专栏第 7 篇文章【在发布组件库之前,你需要先掌握构建和发布函数库】,聊聊怎么构建和发布一个函数库。如上篇文章结语所述,开发组件和发布可用的组件之间还隔着一条鸿沟,这就是从开发环境到生产环境必经的路,也是组件库研发过程中最复...

2023-02-21 08:30:50 210

原创 实现一个靠谱好用的全屏组件,顺手入门 Headless 组件

本节涉及的内容源码可在vue-pro-components c5 分支[1]找到,欢迎 star 支持!前言本文是 基于Vite+AntDesignVue打造业务组件库[2] 专栏第 6 篇文章【实现一个靠谱好用的全屏组件,顺手入门 Headless 组件】,聊聊一个使用频率还挺高的组件——全屏组件,顺便了解下什么是 Headless 组件,并尝试动手将一个普通组件改造成 Headless 组件。...

2023-02-20 08:30:42 892

原创 实战案例:初探工程配置 & 图标组件热身

点击上方卡片“前端司南”关注我您的关注意义重大原创@前端司南前言本文是 基于Vite+AntDesignVue打造业务组件库[1] 专栏第 3 篇文章【实战案例:初探工程配置 & 图标组件热身】,我将从业务系统中最基础的图标组件入手,带着读者们练练手找找感觉,快速进入开发状态,顺便了解一些基本的前端工程配置。引入Formatter/Linter工具在正式地开发组件之前,我们需要一点点准备工...

2022-12-20 17:30:58 555

原创 组件库技术选型和开发环境搭建

点击上方卡片“前端司南”关注我您的关注意义重大原创@前端司南本文为稀土掘金技术社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究!专栏上篇文章传送门:基于Vite打造业务组件库(开篇介绍)[1]专栏下篇文章传送门:实战案例:初探工程配置 & 图标组件热身[2]本节涉及的内容源码可在vue-pro-components c1 分支[3]找到,欢迎 star 支持!前言本文...

2022-12-10 21:03:46 618

原创 Vue3和@types/node的类型不兼容问题

点击上方卡片“前端司南”关注我您的关注意义重大原创@前端司南插播个广告:最近我在掘金社区有个专栏,主要涉及Vite,Vue3,TypeScript,业务组件库等关键词,目的是帮助读者掌握基于 Vite 构建现代组件库的核心方法。链接:https://juejin.cn/column/7140103979697963045最近有个新项目启动,主体内容与先前做的一个项目相似度很高,于是我准备拿这个旧项...

2022-10-13 21:31:10 5840

原创 服务器拒绝了我的ssh免密登录

点击上方卡片“前端司南”关注我您的关注意义重大原创@前端司南众里寻他千百度,蓦然回首,答案就在眼皮子底下......正如标题所述,我遇到的问题是服务器拒绝了我的ssh免密登录,具体情况是我之前已经配置好了ssh免密登录,但是最近突发 PC ssh 登录云服务器报错,接连好些天都没找到原因。ssh 免密码登录本身不是一个复杂的问题,百度 / google 上面随便都找得到教程。关键点在于:基于 RS...

2022-09-09 11:43:09 1748

原创 Vue3+TS+Node打造个人博客(后端架构)

点击上方卡片“前端司南”关注我您的关注意义重大原创@前端司南本项目代码已开源,具体见:前端工程:vue3-ts-blog-frontend[1]后端工程:express-blog-back...

2022-03-10 07:30:00 2754 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除