单页应用带来更流畅的前端体验,同时也带来了一些麻烦,比如SEO,又比如日益严重的体积问题。当然办法总比困难多,tree shaking便是优化体积问题的办法之一

概念

tree shaking,它是什么

Tree shaking is a term commonly used in the JavaScript context for dead-code elimination. It relies on the static structure of ES2015 module syntax, i.e. import and export. The name and concept have been popularized by the ES2015 module bundler rollup.

The webpack 2 release came with built-in support for ES2015 modules (alias harmony modules) as well as unused module export detection. The new webpack 4 release expands on this capability with a way to provide hints to the compiler via the “sideEffects” package.json property to denote which files in your project are “pure” and therefore safe to prune if unused.

关键点

阅读全文 »

之前梳理过,自己常用的APP,常用的硬件。这次梳理下Chrome日常使用的插件,并且分享点自己的使用心得。

对于我所使用的插件,大致可以分为两类。

持续更新

日常使用

阅读全文 »

上篇文章简单介绍了Jest配置,通过简单的配置达到可以跑测试。这篇文章聚焦如何进行React项目的测试,侧重点有所不同。

项目技术栈

因为是个通用UI组件库,所以不牵扯redux,api等。整体技术栈较简单

  • React
  • TypeScript
  • Antd
  • Less
  • react-intl

测试目标

阅读全文 »

最近在做公司级UI组件库,对于测试这块,决定继续沿用Jest。因为追求简单,果断舍弃拷贝粘贴这个捷径,从零开始进行配置。这里Mark下。

上概念

玩之前,先了解下Jest是干嘛的

Jest is a delightful JavaScript Testing Framework with a focus on simplicity.
It works with projects using: Babel, TypeScript, Node, React, Angular, Vue and more!

阅读全文 »

DB工具之前一直使用Navicat,从破解版到单个DB版,再到Essentials版,来回折腾,如今决定转投JetBrains旗下的DataGrip

弃用Navicat理由

  1. 价钱

    License贵,单个DB版,比如MySQL,一年1000多块,而作为跨数据库的旗舰版,更是一年要5千多块。工作中,我喜欢一个软件解决一类问题,就像IDE,不可能一个语言都来一个特定IDE,有一个全能型的更好。so,我倾向使用Navicat旗舰版,但价格却太高昂,个人买是不可能了,无奈公司也不提供旗舰版license【特殊情况可以走项目申请-麻烦】

  2. 效率

    Navicat的GUI做的很成熟美观,但对于程序员来说,鼠标操作还是慢几拍,对比Jetbrains公司的IDEA,WS等对于快捷键的支持,弱鸡。

  3. 更新缓慢

    软件更新升级慢,同时也不提供SDK,个人定制开发是不可能了。so一旦遇到一些问题,无处询问,只能干等,记得之前遇到DB数据导出Excel,发现支持上有问题。

吐槽了不足,当然Navicat也不是没优点的,毕竟人家是一款成熟的产品了。尤其旗舰版,各种主流数据库【关系 or 非关系数据库】都支持,仅这一条,秒杀大多DB软件,另外导入导出,查询,备份等常用功能都很齐全。

阅读全文 »
0%