underscore plugin webpack lodash

underscore - lodash-webpack-plugin



Lodash inesperadamente se inyecta en global cuando se lo requiere en subdependencia (1)

Mi aplicación depende de una biblioteca foolib , la biblioteca foolib tiene una dependencia de lodash y lo requiere a través de var _ = require(''lodash'')

Requerir resultados de foolib en lodash adjuntándose a la ventana

Descubrí que esto se debía a esto:

https://github.com/lodash/lodash/blob/45785a282442399cfca829aea496104003f773e2/dist/lodash.js#L17041-L17046

// Some AMD build optimizers, like r.js, check for condition patterns like: if (typeof define == ''function'' && typeof define.amd == ''object'' && define.amd) { // Expose Lodash on the global object to prevent errors when Lodash is // loaded by a script tag in the presence of an AMD loader. // See http://requirejs.org/docs/errors.html#mismatch for more details. // Use `_.noConflict` to remove Lodash from the global object. root._ = _;

Agregar un depurador en el cuerpo de los resultados condicionales en el desencadenador del depurador, pero la condición que provocó la entrada de la rama if ahora devuelve false

Al agregar un registro de consola antes del depurador para cerrar la sesión con el valor de define , se define como definido por el webpack:///(webpack)/buildin/amd-define.js?0bba con los contenidos de

module.exports = function() { throw new Error("define cannot be used indirect"); }; /***************** ** WEBPACK FOOTER ** (webpack)/buildin/amd-define.js ** module id = 875 ** module chunks = 2 **/

Como estoy compilando con un paquete web, parece inesperado que esa condición con define y define.amd sea ​​cierta