requirejs amd webpack

requirejs - Webpack: expresando la dependencia del módulo



amd (2)

Estoy tratando de require el módulo bootstrap-webpack en mi aplicación web.

Parece que necesita jQuery, ya que el javascript incluido arroja lo siguiente:

UnEdge ReferenceError: jQuery no está definido

¿Cómo hago para especificar al paquete web que jQuery es una dependencia del módulo bootstrap-webpack para solucionar este problema? Parece que debería ser trivial, pero he estado luchando por resolverlo.

He intentado agregar:

"jquery": "latest"

a las dependencias en el package.json bootstrap-webpack, pero esto no funcionó. La documentation está incompleta y parece que no puedo encontrar mucho sobre este tema. Debería ser trivial, ¿verdad? ¡Ayuda!


A través de este problema github .

Instale expose-loader y add require(''expose?$!expose?jQuery!jquery''); a su punto de entrada principal justo antes de que requiera webpack-bootstrap.

Esto configurará jQuery en la ventana para que cualquier archivo pueda acceder a él. Tenga cuidado con este método, todos los archivos tendrán acceso a esa versión de jQuery, independientemente de si se requiere explícitamente.


Hay dos soluciones posibles:

Use ProvidePlugin : escanea el código fuente para el identificador dado y lo reemplaza con una referencia al módulo dado, tal como se ha requerido.

// webpack.config.js module.exports = { ... plugins: [ new webpack.ProvidePlugin({ $: "jquery", jQuery: "jquery" }) ] };

Use el imports-loader : proporciona la posibilidad de anteponer preparaciones como las declaraciones require() .

// webpack.config.js { ... module: { loaders: [ { test: require.resolve("jquery"), loader: "imports?jQuery=jquery" } ] } }

En ese caso, necesita ejecutar npm install imports-loader --save before.