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