- 博客(55)
- 收藏
- 关注
原创 Swift 入门(一 - 基础语法)
可以包含任何字符,包括Unicode字符,但不能数学符号、箭头,保留的(或非法的)Unicode码位,连线与制表符。一旦确定了常量或者变量的类型,就不能使用相同的名字在此进行声明,或者改变其存储的值的类型。如果你的代码中有常量或者变量需要处理值缺失的情况,请把它们声明成对应的可选类型。选择哪个类型取决于你的代码需要处理的值的范围,在两种类型都匹配的情况下,将优先选择。语句中,这条语句不仅可以用来判断可选类型中是否有值,同时可以将可选类型中的值赋给一个常量或者变量。相加,因为数字字面量本身没有明确的类型。
2025-09-25 19:50:18
643
原创 Express入门和实践(一)
为不同URL路径中使用不同 http 动词的请求(路由)便携处理程序。集成了“视图”渲染引擎,一边通过将数据插入模版来生成响应。设置常见web应用设置,比如用于连接的端口,以及渲染响应模版的位置。在请求处理管道的任何位置添加额外的请求处理“中间件”Express中间件可以实现 cookie、会话、用户登录、URL参数、POST数据、安全头等功能。
2025-09-23 15:07:22
360
原创 Zustand入门和使用指南(三 -- 与Redux比较)
Redux:严格遵循Flux架构,强调单一数据源、状态不可变和单向数据流。有一套完整的规范和约束(如必须通过action和reducer修改状态)。* 单向数据流。数据永远顺着这个方向走,不会出现 “界面直接改数据” 或者 “数据自己乱变” 的情况,所以调试时很容易跟踪每一步变化。Zustand:更注重简洁性和灵活性,允许直接修改状态,也支持不可变更新。* “不可变性”是指的开发模式。换句话说,数据一旦创建就不会被改变,而是通过复制和更新来生成新的数据。
2025-09-18 14:13:08
361
原创 Zustand入门和使用指南(一)
1、什么是zustand?zustand是基于React的状态管理库。useReduceruseContext2、下载3、入门首先创建一个 hook存储是一个 hook!你可以将任何东西放入其中:原始、对象、函数。set函数合并状态。然后绑定你的组件,你可以在任何地方使用 hook,而无需提供程序。选择你的状态,当该状态发生变化时,使用组件将重新渲染。4、以井字游戏为例状态管理方式对比:以井字游戏的核心状态(board棋盘数组、当前玩家、winner。
2025-09-17 17:29:39
418
原创 【问题】antd Image组件 PreviewType
问题描述:预览的图片由函数 getSignedUrl 函数对应生成。由于需要访问服务器,会产生加载时延,此时想要显示一张模糊版的 cover 图片或一个显示正在加载的Spin,等待函数加载完毕,再替换。不知道在 preview API中如何写,求助。
2024-08-23 17:52:15
773
原创 【总结】antd 渐变按钮代码解析
为了便于代码管理,我将具体设置渐变组件的 css 部分单独放在了 gradientButton.css 文件中。的上下文(Context)并获取了 Ant Design 的前缀类名(这段代码使用了 React 的。
2024-08-22 19:08:43
816
原创 【总结】useEffect( )
如果传递一个空数组作为依赖项,副作用函数只会在组件首次渲染时执行一次。如果传递一个依赖项数组,副作用函数会在依赖项发生变化时执行。如果不传递依赖项数组,副作用函数会在每次渲染后执行。带依赖项的 useEffect。
2024-08-22 18:00:51
431
原创 【总结】使用 antd 过程中的坑
5、onClick={ handleDelete } 和 onClick={ () => handleDelete() }1、useState 必须定义在函数内,否则会报 Hook error.在所在函数执行完之后,order的值才会变为1。
2024-08-21 11:04:49
501
原创 【总结】git pull 和 git merge
是一个单独的合并操作,用于将一个分支的更改合并到另一个分支中,通常是在本地操作不同的分支之间使用。类似,如果被合并的分支与当前分支的代码有冲突,你需要手动解决这些冲突。当你想要将远程仓库的最新更改合并到你当前的本地分支时使用。会触发合并冲突,你需要手动解决这些冲突并完成合并。则更适合用于在本地将多个分支的工作成果合并在一起。的组合操作,用于将远程仓库的更改同步到本地。用于将两个不同分支的更改合并到一个分支中。更适合用于保持本地分支与远程分支同步,而。如果远程的更改与本地的修改产生冲突,
2024-08-21 10:38:27
1578
原创 【总结】commitizen插件
npm run cz是用来运行一个帮助生成符合规范的 Git 提交消息工具,通常与Commitizen一起使用。Commitizen 是一个帮助开发者生成结构化的 Git 提交消息的工具,通常用于确保提交信息遵循一定的格式,如。当你在项目中安装并配置了 Commitizen 后,运行npm run cz会启动一个交互式命令行界面,引导你填写提交类型、变更范围、变更描述等信息。这样,你的提交消息将更加规范,并且更容易与自动化工具(如版本发布工具)集成。使用npm run cz选择提交类型(如feat。
2024-08-21 10:29:09
509
原创 ant-design Table框架中加入图片
即使是console.log() 中的内容都没打印出来。问题描述:想在 picture 列中,展示图片缩略图。删除这行代码,可以打印出 record 的内容。第一张照片可以显示,第二张照片不能。最后发现将本地图片文件改为网页路径即可正确显示。但是仍未正确显示图片。
2024-08-14 16:19:37
351
原创 记录基于 React 的常用 UI 架构
Bootstrap、Material UI 和 Ant Design主要是用于构建应用的完整UI框架,提供了预定义的组件和样式,适合不同类型的项目。Bootstrap更适合简单项目,Material UI和Ant Design适合追求现代设计和企业级应用。Storybook更像是一个开发工具,而非UI框架。它是构建和管理组件的有力工具,特别是在大型团队协作和复杂项目中。它可以与上述UI框架结合使用,以更好地管理和展示组件。Shadcn UI。
2024-08-08 17:29:53
2007
原创 Webpack 学习笔记(七 - Shimming 预置依赖)
webpackcompiler 能够识别遵循 ES2015 模块语法、CommonJS 或 AMD 规范编写的模块。然而,一些 third party(第三方库) 可能会引用一些全局依赖(例如jQuery中的因此这些 library 也可能会创建一些需要导出的全局变量。这些 "broken modules(不符合规范的模块)" 就是shimming(预置依赖)发挥作用的地方。!webpack 背后的整个理念是使前端开发更加模块化。
2024-08-08 14:35:55
673
原创 Webpack 学习笔记(六 - ECMAScript 模块)
ECMAScript 模块(ESM)是在 Web 中使用模块的。所有现代浏览器均支持此功能,同时也是在 Web 中编写模块化代码的推荐方式。webpack 支持处理 ECMAScript 模块以优化它们。
2024-08-08 11:43:21
471
原创 Webpack 学习笔记 (五 - Tree Shaking)
为了利用使用 ES2015 模块语法(即import和export确保没有编译器将 ES2015 模块语法转换为 CommonJS(顺带一提,这是现在常用的的默认行为,请参阅文档以了解更多信息)。在项目的文件中添加属性。使用mode为的配置项以启用更多优化项,包括压缩代码与 tree shaking。可以将应用程序想象成一棵树。绿色表示实际用到的源码和库,是树上活的树叶。灰色表示未引用代码,是秋天树上枯萎的树叶。为了除去死去的树叶,你必须摇动(shake)这棵树,使它们落下。
2024-08-08 11:26:15
954
原创 Webpack 学习笔记(四 - 依赖管理)
如果 require 中含有表达式,由于编译时并不清楚 具体 导入了哪个模块,因此会创建一个上下文。假设现在有包含 文件的如下目录结构:当下面的 调用被评估解析时:webpack 解析会 调用,然后提取出如下一些信息:上下文模块并且会创建一个上下文模块。它包含 对该目录下所有模块 的引用,可以使用匹配正则表达式的请求来导入这些模块。上下文模块中存在一个映射,该映射用于将请求转换为模块 ID。示例映射:此上下文模块还包含一些访问此映射对象的运行时逻辑。这意味着 webpack 能
2024-08-08 10:55:03
309
原创 Webpack 学习笔记(三 - 创建库)
除了打包应用程序,webpack 还可以打包 JavaScript 库。以下指南适用于希望简化打包策略的库作者。
2024-08-07 18:26:15
1050
原创 Webpack 学习笔记(二 - 缓存)
再次执行构建后发现,尽管没有修改原始文件,bundle 的名称仍然发生了修改。然而,如果在部署资源的最新版本时没有更改资源的文件名,浏览器可能会认为它没有被更新,从而使用它的缓存版本。由于缓存的存在,当需要获取新的代码时,就会显得很棘手。目录中的内容部署到服务器上,客户端(通常是浏览器)就能够访问此服务器以获取站点及其资源。与旧版本相比,新版本未必持有同样的哈希机制,但我们仍然建议采取以下步骤以确保安全。当文件内容变化后,客户端又能够请求到新的文件。现在,不论是否添加任何新的本地依赖,对于前后两次构建,
2024-08-07 18:23:31
1156
原创 Markdown 学习笔记(五)
许多 Markdown 应用程序允许您在 Markdown 格式的文本中使用 HTML 标签。出于安全原因,并非所有 Markdown 应用程序都支持 Markdown 文档中的 HTML。某些应用程序仅支持部分 HTML 标签。),后跟括号中的替代文本,以及括号中图片资源的路径或 URL。要添加图像的链接,请将图像的 Markdown 括在括号中,然后在括号中添加链接。要使用 HTML,请将标签放在 Markdown 格式文件的文本中。要显示用于格式化 Markdown 文档中的文本的文字字符,请。
2024-08-07 15:04:27
556
原创 Markdown 学习笔记(四)
引用样式链接是一种特殊的链接,它使 URL 在 Markdown 中更易于显示和阅读。引用样式链接由两部分组成:与文本保持内联的部分以及存储在文件其他位置以保持文本易于阅读的部分。虽然它可能指向有趣的附加信息,但显示的 URL 除了使文本更难阅读之外,实际上并没有给现有的原始文本增加太多内容。这个洞不是肮脏、潮湿、满是虫子尾巴、散发着黏液气味的洞,也不是干燥、光秃、满是沙子、没有东西可以坐或吃的洞:这是一个。如果要用代码表示的单词或短语包含一个或多个反引号,则可以通过将单词或短语括在双反引号 (
2024-08-07 14:59:57
788
原创 Markdown 学习笔记(三)
要创建有序列表,请添加带有数字和句点的行项目。数字不必按数字顺序排列,但列表应从数字 1 开始。要在列表中添加另一个元素同时保持列表的连续性,请将元素缩进四个空格或一个制表符,如以下示例所示。当它们在列表中时,缩进八个空格或两个制表符。出于兼容性考虑,请勿在同一列表中混合使用分隔符 - 选择一个并坚持使用。如果结果不如您所愿,请仔细检查列表中的元素是否缩进四个空格或一个制表符。缩进一个或多个项目以创建嵌套列表。您可以将无序列表嵌套在有序列表中,反之亦然。我需要在第二个列表项下方添加另一个段落。
2024-08-07 14:53:36
896
原创 Markdown 学习笔记(二)
引用要创建块引用,请在段落前面添加 >。包含多个段落的区块引用区块引用可以包含多个段落。在段落之间的空白行上添加 >。嵌套引用块引用可以嵌套。在要嵌套的段落前面添加 >>。渲染的输出如下所示:带有其他元素的区块引用Blockquotes 可以包含其他 Markdown 格式的元素。并非所有元素都可以使用 — 您需要进行实验才能知道哪些元素有效。
2024-08-07 14:47:41
496
原创 Markdown 学习笔记(一)
标题要创建标题,请在单词或短语前面添加数字符号 ( )。您使用的数字符号数量应与标题级别相对应。例如,要创建三级标题 (<h3>),请使用三个数字符号(例如替代语法或者,在文本下方的行中,添加任意数量的==1 级标题字符或--2 级标题字符。标题最佳实践Markdown 应用程序对于如何处理数字符号 () 和标题名称之间缺少的空格意见不一。出于兼容性考虑,请始终在数字符号和标题名称之间留一个空格。为了兼容性,您还应该在标题前后放置空行。段落要创建段落,请使用空行分隔一行或多行文本。段落最佳实践。
2024-08-07 14:30:14
798
原创 js 模块化学习笔记
JavaScript 模块化是指将复杂的JavaScript应用程序分解成更小、更可管理的代码块,这些代码块被称为模块。这些模块可以独立编写和维护,然后在应用程序中组合使用。模块化的好处有很多,包括更好的代码组织、可重用性、更好的错误隔离和性能优化等。在JavaScript中,模块化可以通过不同的方式实现,比如使用CommonJS 模块规范AMD(异步模块定义)和ES6 模块。
2024-08-07 11:14:51
677
原创 Webpack 学习笔记(一 - 管理资源、管理输出、开发环境、代码分离、模块热替换、懒加载)
管理资源、管理输出、开发环境、代码分离、模块热替换、懒加载
2024-08-06 18:48:25
764
原创 Web开发学习规划
js -- es5 -- amd, cmd, requirejsnodejs - commonjses6 -- es modulests -- ts modules
2024-08-06 18:01:39
110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅