- 博客(24)
- 问答 (1)
- 收藏
- 关注
原创 TypeScript 5.0 正式发布
2023 年 3 月 17 日,TypeScript 5.0 正式发布!此版本带来了许多新功能,旨在使 TypeScript 更小、更简单、更快。TypeScript 5.0 实现了新的装饰器标准、更好地支持 Node 和打构建工具中的 ESM 项目的功能、库作者控制泛型推导的新方法、扩展了 JSDoc 功能、简化了配置,并进行了许多其他改进。
2023-03-21 19:58:16 284 1
原创 Node.js 19 正式发布,新特性一览
Node.js 已经删除了 --experimental-specifier-resolution 标志。其功能现在可以通过自定义加载器实现。
2022-11-17 10:13:40 380
原创 纯 Git 实现前端 CI/CD
最近要把前端 react 项目部署到私有服务器上,研究了好几种持续部署方案,这里简单描述一下。编译后的文件部署,就是先在本地进行npm run build打包,生成 build 文件夹,然后将 build 文件夹传到服务器,再用 Nginx 配置一个静态解析即可。这种方案用 rsync 直接上传就可以,这里不赘述。这种方式是将打包工作交给服务器(或其他构建工具),本地只是将源代码 push 上去,git 监听到推送然后自动开始构建。这是现在流行的方式,大多数持续集成工具都是这么干的。
2022-09-17 09:56:08 757
原创 文件分片上传,断点续传
当单文件过大时,因为传输和后端处理文件时间过长都会导致时间过长,如果代理服务器没有在期望时间内获得后端处理程序返回内容,就会向前端抛出timeout错误。所以文件过大,需要对文件进行拆分,分成体积更小的内容进行上传,保证每次后端都能在规定时间内处理完成并告知代理服务器,由上传一次变成上传多次。
2022-09-17 09:36:51 210
原创 crontab-ui 管理 crontab
以前在做定时任务的时候,都需要上网查一下怎么配置 crontab,因为这个东西不常用而且使用功能间隔可能会很长,每次需要用的时候可能都忘记上次是怎么用的,所以每次都需要去查怎么配置使用。这里介绍一个工具 crontab-ui 帮助我们使用 crontab。crontab-ui 是一个用 Node.js 编写的 Web 前端 UI 的定时任务管理工具。...
2022-06-06 20:11:23 1242
原创 Typescript 类型声明工具函数一览
Typescript 类型声明工具函数一览原文地址:Typescript 类型声明工具函数一览类型声明是 Typescript 中用到最多得东西,他提供了一系列类型声明函数辅助开发,提升效率。下面简述每个方法的主要作用,个人认为不容易理解的会带示例,仅供参考。PartialPartial 的作用就是将 T 类型里的属性全部变为可选项 ? 。RequiredPartial 的作用就是将 T 类型里的属性全部变为必选项 ? 。ReadonlyReadonly 的作用是将 T 类型所有属性变为只
2022-02-26 10:52:20 698
原创 PM2 优雅退出
在日常开发过程中,经常会用到 pm2 来起到服务,甚至会用 watch 来实现热更新。但上面这种模式并不适合用在生产环境中,因为 pm2 零延时重启,会导致正在处理的请求直接被销毁,如果数据库没加事务,直接就会导致数据库的数据不完整。处理方法是延时 kill,参数是–kill-timeout。在启动的app.js中添加SIGINT的监听,并在回调中用剩余的timeout时间处理数据。process.on('SIGINT', function() { db.stop(function(err)
2022-01-05 19:45:41 1255
原创 Nodejs 中的同步与异步、阻塞与非阻塞
在 Nodejs 的学习过程中,我们经常会听到同步异步,阻塞和非阻塞。那什么是同步和异步?什么是阻塞和非阻塞呢?Nodejs是单线程的异步事件驱动的Js运行时,使用事件循环的方式,将操作交给系统内核处理,当操作完成后内核通知Nodejs讲合适的回调函数添加到轮询队列中等待回调执行。而阻塞,在官方教程中也有说明阻塞 是指在 Node.js 程序中,其它 JavaScript 语句的执行,必须等待一个非 JavaScript 操作完成。这是因为当阻塞 发生时,事件循环无法继续运行 JavaScript。
2021-12-24 09:23:07 2455
原创 node事件循环(Event loop)
原文地址:node事件循环(Event loop)本文将简述node事件循环的机制,帮助我们理解node环境中代码是如何运行的。1.node运行机制node使用V8作为js解析引擎,I/O处理使用了自己设计的libuv,libuv是一个基于事件的跨平台抽象层,封装了不同操作系统一些底层特性,对外提供统一的API,事件循环机制也是它里面的实现。运行机制:① V8引擎解析JavaScript脚本。② 解析后的代码,调用Node API。③ libuv库负责Node API的执行。它将不同的任务分配
2021-12-08 09:20:49 3993
原创 欢迎加入CSDN React社区
CSDN React社区开启啦,欢迎入驻:React社区社区刚建起来,欢迎前端同学们大家发文,提问,求资源,招聘。
2021-11-30 10:05:45 622
原创 浏览器中的js事件循环(Event loop)
原文地址: https://qianduan.shop/blogs/detail/16本文将简述浏览器中的js事件循环机制,帮助我们理解浏览器环境js代码是如何运行的。Javascript的一大特点是单线程,也就意味着同一时间他只能做一件事。事件循环(Event Loop)是为了协调事件,用户交互,UI渲染,网络处理等行为,防止线程阻塞而诞生的。浏览器事件循环1.宏任务(Macro Task)和微任务(Micro Task)浏览器中js事件循环的异步队列有两种:macro(宏任务)队列和 micr
2021-11-17 09:11:31 830
原创 GitHub上如何发现优秀开源项目
原文地址:https://qianduan.shop/blogs/detail/15GitHub上无数的开源项目供我们学习,那么在如此多的项目中,如何找到你想要的,有价值的优秀开源项目呢?本站每个月都会更新以前前端开源项目给大家参考学习,但授人以鱼不如授人以渔,本文将介绍如何在github发现优秀项目,节约我们的时间。## 1.Follow关注GitHub上活跃的老司机。GitHub上所有你关注的人create,start或者fork了一个项目,都会出现在你的时间线上...
2021-11-03 09:11:15 337
原创 SEO系列之快速排名方法
原文地址:https://qianduan.shop/blogs/detail/14我们新开一个站,都希望能够让新站快速排名,所以我们会去寻找一些快速排名的技术。## 什么是快速排名这时我自己的理解:快速排名主要是指在相对较短的时间周期内,针对网站的关键词,快速提升搜索引擎排名的一个过程。## 如何快速排名我们分以下几种情况来说明:### 1.整站快速排名这里又要区分新站和老站两种不同的情况.#### 新站的快速排名问题,我们应该重点从以下几个方面
2021-11-03 09:09:43 3330
原创 react cron表达式生成组件qnn-react-cron
原文地址:https://qianduan.shop/blogs/detail/13最近需求遇到了需要用户配置cron表达式的需求,又不能让用户直接输入 **"0/10 * * * * ? *"** 这种字符串形式的cron表达式,只能通过可视化界面帮助用户生成表达式,鉴于生成逻辑还是比较复杂,于是就开始在网上找现成的轮子来使用。这里主要介绍两个组件react-cron-antd和qnn-react-cron, 先说结果,我们最终选择qnn-react-cron,因为它bug相对少,支持多语言,就.
2021-10-28 10:47:50 2056
原创 antd的carousel走马灯组件在flex布局下会出现无限宽度的BUG
原文地址:https://www.qianduan.shop/blogs/detail/12# antd的carousel走马灯组件在flex布局下会出现无限宽度的BUG## 问题复现开发环境: win10 + React17 + umi3 + antd v4.16任意层次的父级节点的布局设置为flex布局,carousel组件就会出现无限宽度的问题。测试代码如下:```<div style={{ display: "flex" }}> <Carousel a.
2021-10-24 21:49:10 1326 2
原创 Node定时任务怎么做
原文地址:Node定时任务怎么做背景目前我们遇到了这样一个需求,每个用户都可以自定义定时推送,定时任务的时间配置由用户自己配置,随时修改,而不是传统的由服务器设定好时间跑定时任务。如果是已知定时任务循环周期,那么Linux Crontab 定时任务即可实现。在node中也已经有相对成熟的方案。下面将我自己了解到的Node定时任务方案方案做一个介绍。egg框架提供的schduler定时任务egg是阿里旗下的Node企业级应用框架,它提供了一套机制给开发者优雅的编写定时任务,详细参考官方文档:http
2021-10-22 10:06:36 408
原创 SEO系列之站内优化
原文地址:SEO系列之站内优化SEO系列之站内优化网站SEO优化主要分为三个方面:站内优化, 站外优化, 技术优化。本文着重介绍的是站内优化,SEO站内优化主要是指通过对网站内部的内容和结构作优化调整,使网站对搜索引擎友好,有利于网站的抓取、索引、收录和排名。从网站内部开启我们的SEO优化旅程,本文介绍的站内优化主要包含网站内容,网站排版,用户体验三个方面。1.网站内容网站配置1️⃣ Robots.txt文件,告诉搜索引擎怎么抓取网站,防止无意义的抓取2️⃣ 网站地图sitemap,确保可生成
2021-10-14 19:29:56 328
原创 SEO系列之基础概念
原文地址:SEO系列之基础概念 - 文章详情SEO系列之基础概念SEO是什么,SEO对我们来说有什么用,SEO能用在哪里?在学习SEO之前,我们必须要知道自己要学的是什么,有什么用,怎么用。带着问题学习才能更好地去理解运用SEO。SEO是什么SEO是“Search Engine Optimization”(搜索引擎优化)的缩写,是一种通过分析搜索引擎的排名规律,了解各种搜索引擎怎样进行搜索、怎样抓取互联网页面、怎样确定特定关键词的搜索结果排名的技术。目前全球市场上排名前十搜索引擎包.
2021-10-11 13:22:04 162
原创 NodeJs发起https请求报错:certificate has expired
原文地址:http://localhost:8001/blogs/detail/5在Node开发项目过程中,我们很有可能需要请求外部地址,以此调用外部功能接口或拉取外部数据。通常我们会使用https来保证通信过程安全,这里当我们用NodeJs发起https请求时却提示:certificatehasexpired错误。##如何解决1.简单粗暴的方式,设置环境变量,将下面的代码添加到你的文件顶部:`process.env.NODE_TLS_REJECT_UNAUTHORIZED=...
2021-09-27 17:10:03 9038
原创 markdown文件读取展示
最近自己在做一个纯前端的的博客,需要将markdown的文件博客内容展示到页面,本文记录如何读取文件内容并将内容转为html展示。1.借助webpack的remark-loader解析文件webpack配置如下:import RemarkHTML from "remark-html";module.exports = { // ... module: { rules: [ { test: /\.md$/, use:...
2021-07-15 13:46:34 1355
原创 前端登录之登录状态
#背景我们都知道http是无状态的,这也就意味着请求方和响应方之间无法维护状态,都是一次性的,他不知道请求前都发生过什么。但在有的应用场景下我们需要维护状态,比如各种后台管理系统都需要登录才能进行各种操作,这时我们就需要维护用户的登录状态。常见的登录方案有:1.cookies+session2.jsonwebtoken(JWT)#cookie以及sessioncookie是前端存储的一种,但相比于localStorage等其他方式,借助...
2021-07-15 13:31:28 1069
原创 node之CommonJs模块
1.在 Node.js 模块系统中,每个文件都被视为独立的模块。在执行模块代码之前,Node.js 将使用如下所示的函数封装器对其进行封装:(function(exports, require, module, __filename, __dirname) {// 模块代码实际存在于此处});通过这样做,Node.js 实现了以下几点:它将文件内定义的顶层变量(用var、const或let定义)保持在模块而不是全局对象的范围内。 它有助于提供一些实际特定于模块的全局变量,例如...
2021-07-05 15:37:06 140
空空如也
根据URL数组生成Promise,Promise.all同时发起请求如何实现?
2022-02-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人