[英]Webpack Module not found: Error: Can't resolve 'jquery'
当我运行“webpack”命令时,出现此错误:
错误 in./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 中使用把手。 可能是 handlebars 或 handlebars-loader 干扰了 jquery? 我以前在另一个我没有使用把手的项目中使用过 webpack 和 jquery 没有这个问题,但也许它与它无关。
好吧,就我而言,它是关于导入jquery而不是jQuery 的,它是一个 webpack 配置:
externals: {
// require("jquery") is external and available
// on the global var jQuery
"jquery": "jQuery"
}
车把与它无关。 问题是,你改变resolve.modules
到[path.join(__dirname, "js/helpers")]
所以 webpack 只会在js/helpers
查找任何模块,但来自 npm 的jquery
和其他依赖项在node_modules
。 的默认值resolve.modules
是["node_modules"]
。 您还需要添加node_modules
以保持常规模块分辨率。
resolve: {
modules: [
path.join(__dirname, "js/helpers"),
"node_modules"
]
},
使用以下命令解决错误。
npm install --save jquery
如果您在使用 React 和 Bootstrap 时遇到此错误,可能是因为您使用的是较低版本的 Bootstrap。 我通过将版本升级到 Bootstrap 版本 5 来解决它。
如果使用 mac OSX,npm v5.0.0 或 > 在你的项目文件夹终端上试试这个命令npm install jquery jquery-ui
Rails 6: yarn add jquery
为我工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.