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.