如何导入babel-polyfill的某些特定模块而不是全部导入?对我来说,导入所有内容似乎太大了,我只使用它的一些功能。
我想要的是如下:
import "babel-polyfill/symbol";
答案 0 :(得分:12)
在幕后,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";
使用这种方法很重要的是你使用某种捆绑器(Browserify,Webpack等),因为core-js由很多较小的模块组成,可能会导致很多不必要的HTTP请求。
答案 1 :(得分:2)
如果您不想导入整个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';