Краткий ответ:
lerna bootstrap
lerna run dev
bootstrap
установит зависимости для соответствующих пакетов. Пример: common
должен быть установлен в web-api
. Lerna установит common
в web-api
как node_module
.
в package.json
, добавив private: true
также гарантирует, что lerna publi sh не будет публиковать sh этих проектов.
(длинный ответ:)
С учетом каталога папки
example/
|-- common/
| |-- file-example1.js
| |-- file-example2.js
| `-- package.json
|-- web-api/
| |-- controllers/
| |-- index.js
| |-- routes.js
| `-- package.json
|-- package.json
1. Рабочие пространства пряжи .
пример / пакет. json
{
"private": true,
"workspaces": ["common", "web-api"]
}
Инициализация пряжи в соответствующих подпапках.
Терминал
~/example $ cd ./common
~/example/common $ yarn init -y
~/example/common $ cd ../web-api
~/example/web-api $ yarn init -y
в примере / common / package. json
{
"name": "common",
"version": 1.0.0
...
}
в примере / web-api / package. json
{
"name" "web-api",
"dependencies": {
"common": "1.0.0"
}
}
Терминал (пока в web-api dir)
~/example/web-api $ yarn install
В каталоге root должно быть быть node_modules
, который должен включать:
web-api/
common/
yarn
создаст символическую ссылку между common
и webapi
из папки node_modules, которая создается на уровне root.
Тем не менее, yarnpkg
принято использовать
{
"private": true,
"workspaces": ["packages/"]
}
Ссылка: Учебное пособие Бен Авад по рабочим пространствам пряжи
2. lerna
Lerna использует рабочие пространства пряжи под капотом ref , но вам требуется конфигурация lerna.json
(в которой можно указать требуемый менеджер пакетов npm, пряжа. .. )
lerna. json
{
"packages": [
"packages/*"
],
"version": "0.0.0"
}
В lerna
есть дополнительные команды, такие как:
- lerna diff common
, которые дадут вам git diff с момента последнего коммита, или. - lerna run test
, который будет запускать скрипт test
в каждом из ваших пакетов. (используйте --scope={common}
только для сценария common test
).
В create-react-app
они также включают поле «changelog», которое, как я предполагаю, будет означать, как люди будут автоматически добавлять префиксы к своим сообщениям.
Ссылка: Ben awad учебник по lerna