Nel mio progetto, sto usando babel per traspondere fino a ES5. Sto usando webpack per raggruppare tutto insieme. Ci sono molti posti in cui Babel aggiunge una funzione nella parte superiore di un dato file per supportare alcune funzionalità (come i parametri di riposo here o import
dichiarazioni here).Ridurre gli helper del codice transpiled con babel e webpack
Ad esempio, praticamente ogni file ha questo in cima:
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
E diversi file avere questo:
var _toConsumableArray = function (arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } };
Nel mio smaller project questo non è un affare enorme, ma in il mio progetto al lavoro, sto facendo la stessa cosa e sono sicuro di riuscire a radere più di pochi byte cercando di avere tutti questi polyfill in un unico posto e fare riferimento a babel/webpack. Quindi, piuttosto che avere _interopRequire
in ogni file che utilizza import
(che è quasi ogni file), averlo in un posto e fare riferimento.
C'è un modo per farlo?
impressionante, penso che questo è esattamente quello che mi serve. Comunque, quando lo faccio, il mio file 'dist' si riempie di' core-js'. C'è un modo per configurare il webpack per rimuovere i moduli che non vengono utilizzati nel mio codice? – kentcdodds
Inoltre, non è solo "core". È anche 'aiutanti'. – kentcdodds
Non sono sicuro, ma forse questo è ciò che stai cercando: https: // babeljs.io/docs/advanced/external-helpers/(personalmente non l'ho provato dal momento che sto usando core-js, e forse la maggior parte degli helper) –