2016-04-01 3 views
6

Как я могу импортировать некоторые определенные модули babel-polyfill, а не импортировать все? Мне кажется, это слишком большой размер, чтобы импортировать все это, и я просто использую некоторые из его особенностей.Могу ли я импортировать модули babel-polyfill, а не все?

То, что я хочу, как следующее:

import "babel-polyfill/symbol"; 

ответ

7

Под капотом babel-polyfill использует проект под названием core-js (с некоторыми настройками, конечно). Он предоставляет CommonJS API, поэтому предполагается, что вы transpiling к 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"; 

Это важно при таком подходе, который вы используете в Bundler какой-то (Browserify, Webpack и т. Д.), Поскольку core-js состоит из лотов меньших модулей и может вызывать много ненужных HTTP-запросов.

1

Вы можете импортировать ядро-js напрямую, если вы не хотите импортировать весь babel-polyfill для оптимизации. Core js can

//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'; 
Смежные вопросы