Cuando ejecuto el comando 'webpack', aparece este error:
ERROR en ./js/main.js Módulo no encontrado: Error: No se puede resolver 'jquery' en '...\js' @ ./js/main.js 3:0-16 4:0-23
En paquete.json tengo:
"devDependencies": { "handlebars": "^4.0.6", "handlebars-loader": "^1.4.0", "jquery": "^3.2.1", "path": "^0.12.7" },En webpack.config.js:
var path = require("path"); module.exports = { entry: "./js/main.js", output: { path: __dirname + "/js", filename: "scripts-bundled.js" }, resolve: { modules: [ path.join(__dirname, "js/helpers") ] }, module: { loaders: [ {test: /\.hbs$/, loader: "handlebars-loader"} ] } };Y en main.js en la parte superior del archivo, tengo:
import $ from 'jquery';También estoy usando manillares en main.js. ¿Podría ser que handlebars o handlebars-loader estén interfiriendo con el jquery? He usado webpack y jquery sin este problema antes en otro proyecto en el que no usé manillares, pero tal vez no tenga nada que ver con eso.
Resuelva el error usando el siguiente comando.
npm install --save jquery
Bueno, en mi caso, se trataba de importar jquery en lugar de jQuery , es una configuración de paquete web:
externals: { // require("jquery") is external and available // on the global var jQuery "jquery": "jQuery" }echa un vistazo a esto: webpack No se puede resolver 'jquery'
El manillar no tiene nada que ver. El problema es que cambió resolve.modules a [path.join(__dirname, "js/helpers")] . Por lo tanto, webpack solo buscará en js/helpers cualquier módulo, pero jquery y otras dependencias de npm están en node_modules . El valor predeterminado de resolve.modules es ["node_modules"] . También debe agregar node_modules para mantener la resolución normal del módulo.
resolve: { modules: [ path.join(__dirname, "js/helpers"), "node_modules" ] },