收录一些平时开发过程中遇到的 BUG ,方便以后查阅。
git pull
在使用 git 拉取远端仓库的代码时,报错:
fatal: refusing to merge unrelated histories
这是因为 git 认为本地仓库与远程仓库是不一样的(即使是同名),使用以下命令:
1 | git pull origin master --allow-unrelated-histories |
fetch
使用 fetch
时,不能缓存 cookie
在使用 fetch
api 进行数据的请求的时候,若服务器返回了 cookie
,我们在 Chrome devtool
里面也能够看到服务器的返回,但浏览器却并不会缓存下来,解决办法如下:
1 | fetch(url, { |
使用 fetch
上传文件时,node 后台接收不到
在上传文件时,主要是需要用到 formData
,若我们在 node 后台使用了 multer
来处理上传的文件,可能会遇到接收不到文件的情况,即 req.files
为空。
由于 multer
只处理 multipart/form-data
的数据,所有我们可能会在 fetch
请求的头部加上一行参数:
1 | fetch(url, { |
这就导致了后台接收不到数据。但我们使用 ajax
却能够成功上传,对比一下请求头发现 ajax 的头部 Content-Type
会中会多一个参数 boundary=----WebKitFormBoundary1VsIwNJXtJRhMefR
这种的参数。
解决办法就是把 fetch
请求头部的 Content-Type
去掉,浏览器会为我们自动加上,这样后台就能够接收到文件了。
微信小程序中 border-radius
圆角边框剪裁问题
在微信小程序中使用 border-radius
时,会出现圆角边框剪裁问题,如下图:
在 css 中加入下面的代码可以解决:
1 | .content { |
处理 vscode 中 nvm 错误提示的问题
1 | rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*} |
FSEventStreamStart
在使用 Facebook 的 jest
进行 react 组件的测试时,出现了下列错误:
1 | (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22) |
解决办法为,升级系统的 watchman:
1 | brew install watchman |
lodash.clonedeep
在 CI/CD 自动化发布的时候,安装完依赖进行打包的时候遇到下面的错误:
1 | ERROR in Cannot find module 'lodash.clonedeep' |
这是 sass
的问题,是安装 node-sass
出错引起的报错,一般来说删除了重装就好了,如果不行的话可以使用以下方法来解决(我使用这种方法解决):
修改 package.json
中 node-sass
的版本然后重新安装依赖:
1 | { |
解决 ios 部分手机键盘弹起导致 input 无法聚焦的 bug
监听 input 的 blur
事件,执行 window.scroll(0,0)
让页面还原到初始位置
react 修改打包目录后,public下的公共文件没有到新目录
1 | //配置favicon公共文件打包目录 |