如何在与webpack捆绑在一起的文件中动态导入对等依赖项?

时间:2018-12-18 22:07:30

标签: javascript npm webpack

我正在开发一个使用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" }
    }
};

1 个答案:

答案 0 :(得分:1)

我想我找到了解决方案,方法是将其添加到webpack配置的resolve选项中:

modules: [
            path.resolve('./node_modules'),
            path.resolve('../node_modules')
        ]

编辑:实际上我从npm导入了项目,而在我使用npm链接之前,问题似乎完全消失了。不再需要上述解决方案。