【问题标题】:How to use a local node.js library in production?如何在生产中使用本地 node.js 库?
【发布时间】:2021-02-02 15:22:33
【问题描述】:

我在common 文件夹中有一个库,package.json

{
  "name": "common",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT"
}

我有另一个使用这个库的项目,在文件夹articlepackage.json

{
  "name": "article",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "devDependencies": {
    "webpack": "^5.1.3",
    "webpack-cli": "^4.0.0"
  }
}

我在本地做过:

cd common
yarn link
cd ../article
yarn link common

这很好,我在本地发布库并使用它。

现在我想将这个项目部署到 CI,但我不知道如何让它在另一台计算机上工作。我必须将其作为脚本运行,还是有更好的方法来使用本地库。

【问题讨论】:

  • 我认为唯一的方法是将它作为一个包发布。虽然不是 100% 确定
  • 我确定 common 名称已被占用,我不想更改库名称
  • 是的,您必须选择其他名称:npmjs.com/package/common
  • 我已经看到库使用专用的 ./lib/ 文件夹来存放额外的 .js 文件,但不确定它是否适合您。

标签: javascript node.js production


【解决方案1】:

如果您不想创建模块,您可能希望将代码放到存储库之类的某个地方,以便其他环境可以访问它。也许尝试使用本文中的方法从 git hub 使用它:

https://medium.com/pravin-lolage/how-to-use-your-own-package-from-git-repository-as-a-node-module-8b543c13957e

【讨论】:

    【解决方案2】:

    有一个叫做 Yarn Workspaces 的东西:https://classic.yarnpkg.com/en/docs/workspaces/

    基本上在项目的根目录中创建一个package.json 文件并将这些属性添加到:

    {
      "workspaces": [
        "common",
        "article"
      ]
    }
    

    并运行yarn install,现在您可以在其他项目中使用这些本地库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-03
      • 2018-04-19
      • 2013-08-15
      • 1970-01-01
      • 2021-05-07
      • 2016-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多