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

标签 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" }
    }
};

最佳答案

我想我通过将此添加到我的 webpack 配置的 resolve 选项找到了解决方案:

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

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

关于javascript - 如何在与 webpack 捆绑的文件中动态导入对等依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53841804/

相关文章:

npm - yarn self 更新抛出 OAuth2 身份验证错误

javascript - webpack build less files 输出一个 css minify 文件

javascript - 从 JQuery 元素获取 html DOM 元素

javascript - 在 Chrome 扩展程序中在后台执行多个 ajax 请求

javascript - 根据所选选项更改字体大小

javascript - 如何在Jquery中的两个事件函数之间传递变量?

node.js - 如何处理 npm3 对等依赖冲突

angular - 如何创建一个 Angular 2+ 组件并将其放在 npm 上

webpack - angular-cli:切换到 webpack 后环境文件替换被破坏(使用 `ng eject` )

javascript - TypeScript 升级(v3 到 v4)后 Storybook 中断