我有一个应用程序,并且有一个故事书。他们俩目前都住在同一个应用程序中。我刚刚安装了Lerna并在其中玩耍,所以我可以将它们都视为2个独立的软件包。
两个软件包都将被docker化,当我构建一个软件包时,它不应该对另一个软件包做任何事情
到目前为止,我的结构:app/
package.json
lerna.json
makefile
packages/
my-app/
all-relevant-packages-for-my-app
package.json
storybook/
all-relevant-packages-for-storybook
package.json
我不想将任何内容发布到NPM。我只是想单独使用这些软件包,但我想将app
组件导入storybook
莱娜(Lerna)在这里使用正确吗?
当我说docker build my-app
时,它应该进入my-app
仓库中,然后构建docker映像等,运行测试并将我的应用程序部署到S3(这已经全部设置),但是现在我我想知道Lerna是否是正确的工具,因为我看到了很多有关发布到NPM的信息,
答案 0 :(得分:1)
您不必使用Lerna。我建议您使用Yarn工作区。让我们安装yarn
,然后添加
"workspaces": [
"packages/*"
],
部分到您的主package.json文件。从现在开始,yarn将处理软件包的依赖关系。
根据您的情况-请输入package.json
中的my-app
,然后将其名称更改为`@ app / my-app'。在package.json中检查my-app的版本(我现在假定为1.0.0)。
对storybook
进行更改,例如将其名称更改为@app/storybook
。然后,您可以在故事书的package.json文件中添加依赖项:
"dependencies": {
"@app/my-app": "1.0.0"
...
}
返回到根目录app
并运行yarn
命令。它将解决所有软件包的所有依赖关系。现在,您无需使用Lerna就可以在故事书中使用my-app。