Módulo webpack no encontrado: Error: No se puede resolver ‘jquery’

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 package.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 el manillar o el manillar-cargador está interfiriendo con el jQuery? He usado webpack y jquery sin este problema antes en otro proyecto donde no usé manillares, pero tal vez no tenga nada que ver con eso.

El manillar no tiene nada que ver con eso. El problema es que cambió los resolve.modules de 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 regular del módulo.

 resolve: { modules: [ path.join(__dirname, "js/helpers"), "node_modules" ] },