【问题标题】:How to share node modules between vue-cli 3 app?如何在 vue-cli 3 应用程序之间共享节点模块?
【发布时间】:2019-08-03 13:18:01
【问题描述】:

有人知道如何为 vue-cli 应用程序指定 NODE_PATH 吗?我尝试在我的应用文件夹中设置 NODE_PATH 环境变量,但没有成功。

我的目标是将 node_modules 文件夹向上移动几个目录,因为我将使用多个 vue-cli 应用程序并希望为每个应用程序重用价值 180M 的代码!

我也尝试在 package.json 中设置 NODE_PATH,但仍然没有成功。

我的理解是节点会在父目录中查找模块但它不起作用。如果有人有专门的 vue-cli 工作示例,将不胜感激。

【问题讨论】:

  • 我已经更新了我的问题。当我尝试运行npm run serve 时,它抱怨它找不到 vue cli 服务,该服务位于 node_modules 文件夹中。
  • 这个人提供了 3 个不同的链接来做一个 monorepo,这似乎是你正在尝试做的事情......stackoverflow.com/a/52335001/592831 全局安装是一个选项吗?当你运行npm install 时,node_modules 会在哪里结束?
  • @AndyDangerGagne 我将阅读这些文章,看看是否可以让它与我的 vue-cli 应用程序一起使用,谢谢。是的,全局安装没问题。当我运行 npm install 时,节点模块文件夹会在我所在的当前文件夹中创建。

标签: node-modules vue-cli-3


【解决方案1】:

我得到了它的工作,但我不确定是否是最佳做法。好像vue-cli 需要一个本地包来初始化。

因此,我将node_modules 文件夹的副本放在父目录中,并从我的应用程序的node_modules 文件夹中删除了所有包,@vue 文件夹和隐藏的.bin 文件夹除外。

Vue 使用本地的vue-cli 包进行初始化,然后在找不到其他依赖项时向上遍历到父文件夹。

这现在允许我有多个vue-cli 应用程序重用一组默认包。如果我的任何应用程序需要额外的依赖项,我将在本地安装它们,每个应用程序。

【讨论】:

    猜你喜欢
    • 2018-05-23
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 2016-10-11
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多