Avan's Blog

Avan 的博客

防止意外发布代码

package.json"private": true 可以防止意外发布代码 npm public。主要应用于一些业务代码,如前端、后端页面代码。

指定仓库源

阅读全文 »

取消动态版本号

1
2
3
4
# 取消新安装的包的 ^ 前缀
npm config set -g save-prefix=''
pnpm config set -g save-prefix=''
yarn config set save-prefix ""

前言

博主现在已经转 mac 用户。但是因为家里的台式机是是 win 装黑果遇到各种问题,最终还是放弃在家使用 mac 环境。
但是又用习惯了 zsh 的各种插件。所以开始琢磨如何在 win 中使用一套舒适的环境。
最开始我是使用 wsl 中的 linux 环境安装 zsh。但毕竟属于子系统,很多环境是不共享。因为我是一名前端工程师,当做桌面程序开发的时候。在 wsl 需要另外配一套环境启动。
后面在 google 查阅之后。发现 git-bash 中安装 zsh 即可在大多环境与 window 共享的前提下使用 zsh 的生态。

安装 git-bash

阅读全文 »

前言

众所周知,微信无论在 Win 还是 Mac 都是默认不支持多开的。可是我们这些将账号分为公司账号和私人账号的人(海王)。是远不能满足我们的需求。所以只能通过特殊的手段来实现我们的需求。
在手贱把微信升级之前,你可以直接使用 WeChatExtension-ForMac 安装一下该插件即可实现微信 + 防撤回。
可在昨天不小心把微信升级到了 3.4.0 后,在次安装发现打开就会弹出签名的错误。(如果你还是可以用,那么恭喜你!下面不用继续看了)。为此我经过艰苦的寻找(百度 2分钟,google 1分钟)才找到了方法。

如何防撤回

阅读全文 »

在开发过程中,经常需要log出来我们的数据查看。而像node程序终端log出来的数据不具备良好的可读性,所以能不能像浏览器调试一样阅读呢。

顶部菜单找到 RUN 接着选择 Edit Configurations 会弹出一个窗口

接着点击 + 号,选择 Node.js 接着参考下面图片,将 Node parametersJavascript file 的参数修改为对应的数值。

阅读全文 »

CssModule

在 modules 中某个 class 不需要随机数

1
2
3
:global(.blue) {
background: red;
}
阅读全文 »

本文章依据阅读源码的理解进行编写。如果有什么错误的地方,欢迎指正交流学习。
最近也在帮助想入行前端的朋友进行学习,如果有需要交流学习,可以添加微信 gdgzyw
聊天、学习、打游戏都阔以~

学习源码最快的方式就是理解概念后,自己写一个简版的功能。所以我们得先搭一个环境,这里采用测试驱动的方式进行。

初始化项目

阅读全文 »

需求

想通过类似vscode一样,可以通过在命令行输入 code 目录 直接启动 vscode 到对应目录。

想实现这个问题,只需要把对应的ide的快捷启动放置 /usr/local/bin 目录下。那么你在终端中可以直接识别到该执行程序。

阅读全文 »

前言

最近做的个人项目中,需要统计用户连续打卡的时间。网上搜索了很多资料,方法有很多。比如使用mysql分组条件查询、窗口排序等。考虑到自己需求没有这么复杂,只需要计算最近一次的连续天数。就是直接使用dayjs计算。

思路

阅读全文 »

启动 mongo

1
2
3
4
5
6
7
8
9
10
11
12
13
services:

mongo:
image: mongo:7.0.5
restart: always
ports:
- 27000:27017
volumes:
- /home/avan/docker-compose/base-env/mongo/data/db:/data/db
- /home/avan/docker-compose/base-env/mongo/backup:/backup
environment:
MONGO_INITDB_ROOT_USERNAME: 用户名
MONGO_INITDB_ROOT_PASSWORD: 密码

启动 postgres

阅读全文 »

Windows 启动容器

1
MSYS_NO_PATHCONV=1 docker run -it -p 1883:1883 -v $(pwd)/mosquitto.conf:/mosquitto/config/mosquitto.conf eclipse-mosquitto

MSYS_NO_PATHCONV=1 和 $(pwd) 是在 windows 中 gitbash 运行命令需要添加的参数,否则会识别不了路径

阅读全文 »

前言

最近在做自己的一个记账项目,后端nestjs中使用typeorm的mysql。当添加记录时,发现所以时间都相差了8小时。
后面查了一下资料发现因为默认 timezone 是用 UTC 的。所以只需要设置成我们自己的时区即可。

解决方法

阅读全文 »

在平时需求中,经常会遇到一些秘钥,或者一大串文章需要复制再或者百度网盘链接。此时我们可以提供一个按钮,让用户一键复制

1
2
3
4
5
6
7
const el = document.createElement('input');
el.setAttribute('value', secret);
document.body.appendChild(el);
el.select();
const flag = document.execCommand('copy');
document.body.removeChild(el);
flag && alert('复制成功');

这段代码,在不同框架放到,事件监听内即可。提示方式也可以用相应的组件进行替代。

阅读全文 »

先进后出(后进先出)

  • push 添加一个元素到栈顶
  • pop 弹出栈顶的元素
  • top 返回栈顶的元素
  • isEmpty 判断是否为空
  • size 返回栈里元素的个数
  • clear 清空栈
阅读全文 »

前言

今天使用 cra 创建了个项目。打算研究一下 rc-form 的实现思路。发现项目并未开启装饰器。并提示下面的错误。

Support for the experimental syntax 'decorators-legacy' isn't currently enable

阅读全文 »

前言

这是一道 LeetCode 简单题。下面我们简单的做一下,算法萌新,欢迎大佬提供更好的解决思路。

无脑for循环

阅读全文 »