比如项目依赖a b c 三个npm包(都是自己写的)这3个包都是用的es6+编写的每个包通过各自babel编译后生成dist/index文件作为包的入口,例如:
a
b
c
es6+
babel
dist/index
"main": "dist/index.js",
那么每个index.js其实都包含了babel的添加的兼容代码(core3大概60k)
index.js
导致现在我的项目因这3个包多了60*3K代码,其中有60*2k代码是多余的
60*3K
60*2k
大神们,请问如何避免多增加120k代码???
这其实牵扯到polyfill的2种构建方式,一种向你这样先构建再运行, 就会导致同一个语法编译了好几遍, 另外一种就是runtime,把需要ployfill的代码,一起打包到线上,那么需要兼容的语法会在执行的时候去运行polyfill这, 可能需要后面一种做法,比较简单的做法是在.babelrc里面的preset种声明useBuiltIns:usage
548k questions
547k answers
4 comments
86.3k users