我在同一个目录中有两个模块,都由 lerna js 管理。其中之一是其他模块包含的库。在 webpack 库创作之后,它们都由 webpack 打包。
但是,当我在应用程序目录中启动 webpack 时,该过程包括应用程序内的所有 library/node_modules 依赖项,例如 vue.js。在库 vue 中是“devDependency”,而在应用程序中是“依赖项”。这意味着导航器中有两个 Vue 上下文。有人知道为什么吗?
谢谢。
我在同一个目录中有两个模块,都由 lerna js 管理。其中之一是其他模块包含的库。在 webpack 库创作之后,它们都由 webpack 打包。
但是,当我在应用程序目录中启动 webpack 时,该过程包括应用程序内的所有 library/node_modules 依赖项,例如 vue.js。在库 vue 中是“devDependency”,而在应用程序中是“依赖项”。这意味着导航器中有两个 Vue 上下文。有人知道为什么吗?
谢谢。
您需要添加一个别名:
module.exports = {
...
....
},
resolve: {
modules: ["node_modules",
alias: {
'vue$': 'vue/dist/vue',
'jquery': 'jquery/dist/jquery.min.js'
}
},
...
感谢@evocateur
“Node 在需要时解析符号链接,这意味着作为单例的库(如 React 和 Vue)将中断。您需要添加resolve.alias
webpack 配置,以便它始终选择“根”node_modules
包。”
在resolve.alias中加入webpack以下工作完美:
vue: path.resolve(__dirname, './node_modules/vue/')