2017-10-09 11 views
0

J'essaie de comprendre arbre secouant dans Webpack et je remarqué que la course -webpack -optimize-minimize sur ce Example1 est 11kB, tandis que sur Example2 c'est 7kB.Webpack ne respecte pas le champ « module » dans package.json

La bibliothèque Rambda a un champ module dans package.json. Pour autant que je peux voir Webpack ne le respecte pas et je dois me référer explicitement à l'emplacement du fichier esm.

La question est qu'un bug ou une fonctionnalité?

Example1

import {add} from 'rambda' 

function fn(x) { 
    return add(2)(x) 
} 
console.log(fn(3)) 

Example2

import {add} from 'rambda/dist/rambda.esm.js' 

function fn(x) { 
    return add(2)(x) 
} 
console.log(fn(3)) 

Répondre

0

Je trouve que cela est un bogue documenté - https://github.com/webpack/webpack/issues/4674

Quel est le comportement actuel? Lorsque package.json du module contient le navigateur, les champs principaux du module &, webpack regroupe la construction du navigateur par défaut.

Le bug est sans solution pendant 6 mois si la solution est laid - supprimer navigateur champ de package.json, donc Webpack peut utiliser le module champ.