Как установить пакеты Node.js из репозитория Git в определенные папки - PullRequest
0 голосов
/ 10 октября 2019

Я знаю, как установить из Git, у меня другой вопрос:

У меня есть хранилище, похожее на это:

project
--packages
  --moduleA
    --dist
      --index.js
      --package.json
    --src
      --index.mjs
    --package.json
  --moduleB
    --dist
      --index.js
      --package.json
    --src
      --index.mjs
    --package.json

И я хочу знать, возможно ли этодля установки moduleA и moduleB с использованием одного и того же репозитория Git, и не могут установить оба из их соответствующих каталогов dist. Другими словами, если их соответствующие package.json объявляют имена своих модулей как @company/moduleA и @company/moduleB, то я хочу, чтобы мой node_modules выглядел как

node_modules
--@company
  --moduleA
    --index.js
    --package.json
  --moduleB
    --index.js
    --package.json

Возможно ли это с помощью либо npmили yarn?

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

Я в настоящее время рассчитался с gitpkg и пряжа имеет менеджер пакетов.

0 голосов
/ 10 октября 2019

Да, это возможно. Для этого вы можете использовать напа .

добавить это к вашему package.json. Вы можете использовать имя папки в качестве ключа в napa объекте.

{
  "scripts": {
    "install-from-github": "napa"
  },
  "napa": {
    "install_as_foo": "username/repo",
    "install_as_bar": "git@example.com:user/repo"
  }
}

run npm run install-from-github для запуска napa;или просто выполните npx napa

фактический завершенный пример: это установит репозиторий noop2 в @company/test1 и @company/test2

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "author": "",
  "license": "ISC",
  "dependencies": {
    "napa": "^3.0.0"
  },
  "scripts": {
    "install-from-github": "napa"
  },
  "napa": {
    "@company/test1": "yoshuawuyts/noop2",
    "@company/test2": "yoshuawuyts/noop2"
  }
}

output

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...