解除 axios Request Body 大小限制
之前经常有用户反馈我们做的系统中,在上传过程中会遇到 Request body larger than maxBodyLength limit
,其实这个问题之前已经存在了很久,但是一直没去动。
最初以为是服务端发出的 error,因为默认使用的 koa-body
在旧版本也有上传内容的大小限制,但是后来调试过程中发现请求根本没发出去——
之前经常有用户反馈我们做的系统中,在上传过程中会遇到 Request body larger than maxBodyLength limit
,其实这个问题之前已经存在了很久,但是一直没去动。
最初以为是服务端发出的 error,因为默认使用的 koa-body
在旧版本也有上传内容的大小限制,但是后来调试过程中发现请求根本没发出去——
今天同事向我反馈,当我们的静态资源有中文名混杂 + 和空格 时,得到的链接并不能打开,返回的是 404.
举个例子,假定我们的资源为:
http://example-resource.oss-cn-shanghai.aliyuncs.com/23232323/中文 + 文件-file.ec296f20-d67b-11e8-a623-7b28809dc3c9.js
那么在浏览器中访问的文件名应该被转义为:
%E4%B8%AD%E6%96%87%20+%20%E6%96%87%E4%BB%B6-file.ec296f20-d67b-11e8-a623-7b28809dc3c9.js
注意,在这里,空格被转义为 %20
,而 +
没有进行任何处理。
之前遇到了在一段提示中需要加粗的问题,我们都知道,加粗有几种写法:
<b>
<strong>
但是,这三者到底有什么区别——
在大多数场景下,我都会选择使用 font-weight
,众所周知的是,HTML 应该与语义结合,如果是一般的加粗,那么使用 font-weight
刚刚好。
从开搞到文章结束过了一个月……所以……看看就行
前两天在一个群里看到一个问题,有人问「yarn 能不能人工锁版本号」,刚开始我们都没有理解,觉得明明直接用 yarn
或者 yarn install
就能生成 lock 文件,为什么要人工生成。
于是被介绍了一个 npm shrinkwrap
,这是在 package-lock 出现之前就有的项目依赖锁定工具,实际上效果和 package-lock 差不多,唯一的不同是:npm shrinkwrap
是手动生成的。同样的,在更新包、删除包时也需要在完成后手动使用 npm shrinkwrap
。
在现代的版本中,如果两者同时存在,那么会优先取 shrinkwrap:
This command installs a package, and any packages that it depends on. If the package has a package-lock or shrinkwrap file, the installation of dependencies will be driven by that, with an npm-shrinkwrap.json taking precedence if both files exist. See package-lock.json and npm-shrinkwrap.