cube-ui之后编译

后编译指的是应用依赖的NPM包,不需要在发布前编译,而是随着应用编译打包的时候一块编译。

背景

使用webpack+babel开发应用越来越多,而且一般都是通过NPM进行包管理的,这样依赖包越来越多,这些依赖包也是使用ES6+开发的,所以每个包都需要编译才能发布,这样编译后代码中往往包含很多编译代码,为了消除这部分冗余,推荐大家使用后编译
后编译解决的问题主要是代码冗余。

后编译优点:

(1)公共的依赖可以实现共用,只此一份,重要的是只编译一次
(2)babel转换API部分的代码只有一份
(3)不用每个编译包都需要配置打包环节,甚至可以直接源码级别发布

后编译缺点:

(1)主应用地babel配置需要能兼容依赖包的babe;配置
(2)依赖包不能使用alias、不能方便地使用DefinePlugin(可以经过一次简单编译,但是不做babel处理)
(3)应用编译时间变长

如果应用使用的是 webpack 2+,则默认走后编译,而如果使用的 webpack 1.x 则默认使用的是编译后内容;当然,这部分可以通过 webpack 的 alias 配置达到和版本无关效果。

猜你喜欢

转载自blog.csdn.net/e_li_na/article/details/80320422