为什么webpack包含依赖的node_modules?

时间:2017-09-07 22:53:07

标签: javascript typescript webpack vuejs2 lerna

我在同一目录中有两个模块,由lerna js管理。其中一个是其他模块包含的库。它们都是在webpack库创作之后由webpack打包的。

但是,当我在app dir中启动webpack时,该过程包括应用程序内的所有library / node_modules依赖项,例如vue.js.在图书馆中,vue是" devDependency"在应用程序中是"依赖"。这意味着导航器中有两个Vue上下文。有人知道为什么吗?

感谢。

2 个答案:

答案 0 :(得分:1)

您需要添加别名:

module.exports = {
...
....
},
resolve: {
    modules: ["node_modules",
    alias: {
        'vue$': 'vue/dist/vue',
        'jquery': 'jquery/dist/jquery.min.js'
    }
},
...

答案 1 :(得分:0)

感谢@evocateur

“节点在需要时解析符号链接,这意味着作为单例的库(如React和Vue)将会中断。您需要添加resolve.alias webpack配置,以便它始终选择”根“node_modules包。“

以下webpack包在resolve.alias中完美运行:

vue: path.resolve(__dirname, './node_modules/vue/')