我可以导入babel-polyfill模块而不是全部?

如何导入babel-polyfill的某些特定模块而不是全部导入? 对于我来说,它的大小似乎太大了,我只用了它的一些特性。

我想要的是如下:

import "babel-polyfill/symbol"; 

       

网上收集的解决方案 "我可以导入babel-polyfill模块而不是全部?"

在引擎盖下, babel-polyfill使用一个名为core-js的项目(当然有一些定制)。 它公开了一个CommonJS API ,所以假设你正在转换到CommonJS(使用preset-es2015时的默认行为),你可以直接使用它:

 // This pollutes the global namespace. May conflict with // any real Symbol implementations in the future import "core-js/es6/symbol"; // Namespace-safe Symbol import import symbol from "core-js/es6/symbol"; 

使用这种方法很重要,您使用某种types的打包程序(Browserify,Webpack等),因为core-js由很多较小的模块组成,可能会导致大量不必要的HTTP请求。

如果您不想导入整个babel-polyfill来优化,可以直接导入core-js。 核心js可以

 //import 'babel-polyfill'; //Selective imports in modular pattern import 'core-js/fn/object/assign'; import 'core-js/fn/promise'; import 'core-js/fn/string/includes';