开发工具
刘文壮
Github地址:https://github.com/liuwenzhuang
展开
-
Vmmem 进程(WSL2)消耗内存巨大
问题场景在 WSL2 中使用 Docker 时,可能会造成 Vmmem 进程消耗掉全部的内存,导致机器卡顿,且通过任务管理器或者通过 taskkill 都无法终止此进程。方案在用户目录下新建文件 .wslconfig,增加下面的配置,限制其内存占用:[wsl2]memory=6GBswap=0localhostForwarding=true更多配置可查看 WSL 的 发行说明重启 WSL2:打开 服务(可通过 Win + R,运行 services.msc),找到 LxssMa原创 2021-05-26 19:12:57 · 34440 阅读 · 3 评论 -
Windows下前端开发使用prettier保证以LF结尾
在Windows下开发时有点比较烦:文件行尾默认是以CRLF格式,也就是回车换行,区别于macOS和Linux常用的LF格式,所以在和使用其他系统的开发人员协作开发时就需要特别注意,所以一般我们需要对Git进行配置:git config --global core.autocrlf true上面是从全局告知Git,如果我们工作区的文件是CRLF格式的,在推送到远程时会进行一次转换将其变为LF格式;当我们拉取远程文件时,会再将LF格式的文件转换为CRLF格式的。这样做既能保证其他系统的协作人员的文件格式原创 2020-08-12 22:32:16 · 7661 阅读 · 0 评论 -
Yarn 2的安装与使用
Yarn在前端开发者中必然不陌生,目前来说大部分使用的都是Yarn 1.x的版本,其实Yarn 1.x很多时候定位有些尴尬,在设计上还是从npm上借鉴了很多,甚至在大多开发者眼中只是将package-lock.json换成了yarn.lock而已(yarn workspaces是较大的不同),虽然号称在速度上有优势,但npm所具有的缺点Yarn 1.x还是不可避免地会存在。所以促使了Yarn 2地出现,在尽可能保留1.x的使用方式和功能的同时,还提出和实现/重构了很多新的功能,目前1.x已经不再进行版本更原创 2020-08-07 16:09:33 · 11463 阅读 · 3 评论 -
调试Node.js应用
应用开发中,功能实现是首要目的,其次是掌握调试的能力,本文会介绍如何通过Chrome DevTools和VS Code进行Node.js应用的调试。前提准备首先请确保Node.js版本高于6.3.0:# 版本需高于6.3.0$ node -v其次准备好自己的Node.js应用,这里我们先以一个简单的index.js为例:// index.jsfunction add(x, y) { return x + y;}const result = add(1, 2);console.原创 2020-06-22 17:40:11 · 521 阅读 · 0 评论 -
create-react-app在WSL中执行npm start出错
最近在Windows10中的wsl2中使用create-react-app创建了工程后,发现执行npm start或yarn start时会报错:Error: spawn cmd.exe ENOENT经过调试,发现是尝试调用本地浏览器打开页面时出现了错误,具体代码在open库中:可以看到尝试使用cmd.exe启动浏览器时出现了问题,没有找到cmd.exe,一般来说安装wsl2时,会将windows10的环境变量也附加到wsl2环境中,但是cmd.exe所在的/mnt/c/System32路径没被附原创 2020-06-08 16:17:05 · 592 阅读 · 0 评论 -
git clean 和 git rm 的区别和使用场景
git操作中clean和rm是比较容易混淆的两个操作,本文介绍它们之间的区别及使用场景。git cleangit clean操作针对的是当前仓库中未被跟踪的文件,即未通过git add操作过的文件。常用操作方式当我们需要剔除仓库中误添加的文件、中间过程生成的文件时,可以这样做:# 1. git clean -n 看一下将要删除的文件是哪些$ git clean -n ./# 2. ...原创 2020-04-08 21:14:24 · 1259 阅读 · 0 评论 -
Windows Terminal添加、使用主题
此方法在Windows 10 版本1909上通过Microsoft Store中安装的Windows Terminal测试通过,其它版本可能有些许区别。添加主题Windows Terminal从profiles.json中读取配置,初始状态下配置文件很“简陋”:// To view the default settings, hold "alt" while clicking on th...原创 2020-01-11 22:16:29 · 11244 阅读 · 1 评论 -
字体图标的使用与设计
字体图标(iconfont)虽然有要被淘汰的趋势,但是在其服役期间也解决了其他方案的很多痛点,如图片增加额外请求不能使用CSS控制其内部细节不同分辨率的适配CSS Sprites(图片整合术)background-position 定位具体图片可维护性太差添加删除图片成本高,尤其是删除图片CSS Sprites 其实在特定条件下(对图片的改动频次很低)也是比较不错...原创 2019-10-08 16:54:08 · 291 阅读 · 0 评论 -
git同时推送至多个remotes
一般来说,我们的工程只关联一个远程仓库地址,如我们在公司平时的开发中,一般来说都是将代码推送到公司内部的代码仓库中(如GitLab中)。但是如果我们自己的一些工具工程,即想要提供给公司内部使用(GitLab),又想要推送到GitHub上服务大众,我们就需要同时推送至多个远程仓库了:$ git remote set-url --add --push origin [REPOSITORY URL 0...原创 2019-09-11 17:52:23 · 2283 阅读 · 1 评论 -
使用git bisect确定引入问题的提交
git bisect只是一个git命令,和git pull、git push等常用的命令一样。它的用途是利用二分查找算法快速确定引起问题的提交。下面以确定哪次提交引起编译错误为例介绍git bisect的基本使用方法:场景当前最新提交下出现了编译错误(如执行npm run build出现错误),但是由于多人协作开发,不知道哪次提交引入了问题。此时需要确定引入问题的提交,从而缩小代码检查范围。...原创 2019-09-11 17:36:32 · 271 阅读 · 0 评论 -
git push某个或某些特定提交
当我们在本地仓库开发时,暂存区可能有多次提交等待推送(git push)到远程,而我们目前只做完了其中某些需求,此时我们想要将做完的需求涉及的提交推送到远程,git push和git rebase -i就可以做到:默认情况下,git push会推送暂存区所有提交(也即HEAD及其之前的提交),使用下面的命令可以改变此默认行为:$ git push <remotename> <...原创 2019-09-11 17:33:35 · 39741 阅读 · 1 评论