找不到webpack模块:错误:无法解析’jquery’

当我运行’webpack’命令时,我收到此错误:

./js/main.js中的错误找不到模块:错误:无法解析’… \ js’中的’jquery’@ ./js/main.js 3:0-16 4:0-23

在package.json我有:

"devDependencies": { "handlebars": "^4.0.6", "handlebars-loader": "^1.4.0", "jquery": "^3.2.1", "path": "^0.12.7" }, 

在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"} ] } }; 

在文件顶部的main.js中,我有:

 import $ from 'jquery'; 

我也在main.js中使用把手。 可能是车把或车把装载机干扰了jquery? 我之前在没有使用把手的另一个项目中使用了webpack和jquery而没有这个问题,但也许它与它无关。

把手与它无关。 问题是您将[path.join(__dirname, "js/helpers")]更改为[path.join(__dirname, "js/helpers")] 。 所以webpack只会查找任何模块的js/helpers ,但是来自npm的jquery和其他依赖项都在node_modules["node_modules"]的默认值是["node_modules"] 。 您还需要添加node_modules以保持常规模块分辨率。

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