1

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

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

谢谢。

4

2 回答 2

1

您需要添加一个别名:

module.exports = {
...
....
},
resolve: {
    modules: ["node_modules",
    alias: {
        'vue$': 'vue/dist/vue',
        'jquery': 'jquery/dist/jquery.min.js'
    }
},
...
于 2017-09-08T06:00:07.060 回答
0

感谢@evocateur

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

在resolve.alias中加入webpack以下工作完美:

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

于 2017-09-07T23:15:10.940 回答