【问题标题】:NPM: Can we store node_modules into a common folder and use it in Angular projects?NPM:我们可以将 node_modules 存储到一个公共文件夹中并在 Angular 项目中使用它吗?
【发布时间】:2019-04-13 16:47:31
【问题描述】:

我们可以将 node_modules 存储到一个公共文件夹而不是本地存储库文件夹(node_modules)中,然后将这个公共文件夹用于 Angular 项目吗? 我将通过流程图解释我的要求:

我知道它建议我们强烈建议将依赖项放置在本地的 node_modules 文件夹中,以便更快、更可靠地加载它们。 但我仍然在尝试创建一个包含本地模块的通用本地存储库(如 maven 中的 m2)。

  • 首先,这是个好主意吗?(在我看来,如果我能做到这一点,CD 过程将从 20 分钟减少到 2-3 分钟- 25 分钟)[我们执行干净的构建,因此代理从存储库中清除本地更改,因此需要 npm install]

  • 所有依赖都是固定版本(不自动升级)

  • 如何配置 npm 以将包存储到公用文件夹中 本地节点模块数

  • 如何将公共存储库中的包导入我的 Angular 代码库

谁能帮我解决这个问题。 ??

【问题讨论】:

  • 您可以改用yarn,因为yarn 会在本地缓存所有内容,类似于m2。不用改package.json,照样建一个node_modules目录yarnpkg.com/lang/en/docs/migrating-from-npm
  • @user184994 但是当我清理构建时,缓存将被清除。这就是为什么我想将 node_modules 存储到其他位置
  • 您可以将纱线缓存设置为存储在您想要的任何位置
  • cool...那么我如何引用该位置来导入模块?
  • 和maven中的m2一样,当你做yarn install时,它会先在缓存位置(相当于一个m2)中查找,如果找到,就会从那里复制到你的节点模块。

标签: angular npm continuous-integration node-modules package.json


【解决方案1】:

选项1:

您可以移动 src/lib 文件夹中的 node_modules 文件夹并更新 package.json 以指向本地 src/lib 路径。为此,我们需要使用纱线。

选项2:

您可以将所有 node_modules 移动到您的自定义 git 存储库,在 package.json/config.xml 中将结帐路径修改为自定义 git 存储库。在 npm install 期间,它将从自定义 git repo 加载。

how to specify local modules as npm package dependencies

【讨论】:

    【解决方案2】:

    我终于能够通过实施 Yarn 来实现这一点。

    我们必须将缓存路径设置为 . :

    yarn config set cache-folder /usr/local/Caches/yarn
    

    实施后。我能够成功实现上述要求。

    【讨论】:

      猜你喜欢
      • 2020-02-09
      • 2019-11-13
      • 2021-02-21
      • 2021-04-16
      • 2017-07-29
      • 2020-02-18
      • 1970-01-01
      • 2022-11-02
      • 1970-01-01
      相关资源
      最近更新 更多