admin 发布于 08月22, 2019

npm如何发布测试版本

我相信大家很少关注npm publish的参数,它有一个--tag,是干嘛的呢?

我先卖个关子。

我们都知道在公司里面,发库或者构建工具的版本,正式版肯定要求是没有bug的。

但似乎很难做到,因为有些时候可能没有写测试用例,或者写了测试用例也没用,甚至时候会出现:这一块不是相当简单么,给我3s,我提交一下,结果上去之后直接报错等情况。

因此我们需要一个测试版本,来让自己或者小白鼠们尝试,简单地说,有点类似:灰度发布

所以就有了alphabetarc等各种版本。如果我们要发布1.0.0,那么在此之前要有1.0.0-alpha.0,等各种版本。

公网npmpublish默认规则是这样的:只要package.json里面的版本带有alpha这种的,则用户默认安装不到,要指定版本或者@next才行。

但是私有npm库:verdaccio是不行的,于是就有了我的这个issue

另外一个群的哥们给了我一些帮助,可以通过--tag来起到这样的效果。

譬如package.jsonversion1.0.0-alpha.0版本,在发布时:

npm publish --tag alpha

那么在默认下用户是安装不到这个版本的,只有指定版本或者如下:

yarn add moduleName@alpha

才可以装到最新的。

阅读全文 »

admin 发布于 08月18, 2019

babel踩坑记

上周同事碰到一个问题,就是IE11下报错。排查了一下,发现是query-string这个包,它的代码生成出来的结果是es6的,并没有转成es5

后来发现有一些包也有类似的情况,低点的版本是转了es5的,但最新的版本似乎都放弃了。

网上翻了一下,有一个issueUse Babel to compile to ES5

alt

阅读全文 »

admin 发布于 07月09, 2019

从零开始造移动端组件

显然,从头开始造移动端轮子,特别是React的,是不科学的,也是不实际的。

那么就只能抄了,然后在抄过来的代码里面做修改,虽然有些不厚道,但对于公司来说,我觉得是最快的方式。

阅读全文 »

admin 发布于 07月07, 2019

webpack publicPath 踩坑记

公司层面统一了技术栈,开始全面地使用React。所以我之前写的一个比较简陋的cui-react-scripts,要开始大规模地要在各个业务里面坑踩。

这周他们有一个需求是能自定义publicPath

这里会有一些边界上的处理,比如说开发人员传了xx,你得将publicPath处理成/xx/

阅读全文 »

admin 发布于 06月30, 2019

断点续传

java的学习刚好学到媒资管理,上来和大家分享一下,也算是一个学习笔记吧。

通常视频文件都比较大,所以对于媒资系统上传文件的需求要满足大文件的上传要求。http协议本身对上传文件大 小没有限制,但是客户的网络环境质量、电脑硬件环境等参差不齐,如果一个大文件快上传完了网断了,电断了没有上传完成,需要客户重新上传,这是致命的,所以对于大文件上传的要求最基本的是断点续传。

阅读全文 »

admin 发布于 06月23, 2019

Elasticsearch补充笔记

在一月份写过一篇入门的,Elasticsearch入门笔记,此篇算是一个小补充。

在搜索这一块,我们必须要掌握以下内容:

  • 查询所有文档
  • 分页查询
  • Term Query (精准查询)
  • 根据id精准匹配
  • match Query
  • multi Query (多字段查询,可以给某个或者某些字段加权重)
  • 布尔查询
  • 过滤器
  • 排序
  • 高亮显示

在实际业务中,还需要了解logstash,比如可以通过它将mysql里面的数据采集到elasticsearch

今天踩了一个坑,可以拿出来说一下。就是我创建了一个索引,给它建立了mapping。然后我发现有些字段的type不对,于是乎就删除索引,打算重头再来一遍。

但发现并不行,原因是相同名称的索引,重新创建之后,之前的_mapping还在,那么有什么办法呢?

查了一下相关资料,可以通过别名的方式来解决。具体方案可以看一下:elasticsearch更改mapping(不停服务重建索引)

alt

阅读全文 »