我正在开发一个使用jQuery作为对等依赖项的插件。当我尝试将此插件导入我的主项目(已安装jQuery)时,出现错误Module not found: Error: Can't resolve 'jquery' in <(plugin's folder)>
。看来,当我尝试动态导入jQuery(对等依赖项)时,即使它是对等依赖项,Webpack也在编译时在插件的node_modules
文件夹中查找,而不是在根项目的node_modules
文件夹中查找。如何使webpack在根项目的node_modules
中而不是插件的node_modules
中查找?
Webpack.config.js:
var webpack = require('webpack');
module.exports = {
entry: './main.js',
output: {
filename: 'bundle.js'
},
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
],
watch: true,
resolve: {
alias: { jquery: "jQuery" }
}
};
答案 0 :(得分:1)
我想我找到了解决方案,方法是将其添加到webpack配置的resolve
选项中:
modules: [
path.resolve('./node_modules'),
path.resolve('../node_modules')
]
编辑:实际上我从npm导入了项目,而在我使用npm链接之前,问题似乎完全消失了。不再需要上述解决方案。