[英]Can (and should) I use Lerna without publishing to NPM?
我有一个应用程序,我有一本故事书。 目前,他们都住在同一个应用程序中。 我刚刚安装了 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 是正确的吗?
当我运行 say docker build my-app
它应该进入my-app
库,然后构建 docker 映像等,运行测试并将我的应用程序部署到 S3(这已经全部设置好了),但现在我已经把它全部移走了我想知道 Lerna 是否是正确的工具,因为我看到很多关于发布到 NPM 的信息
您不必在您的情况下使用 Lerna。 我建议您使用 Yarn Workspaces。 让我们安装yarn
然后添加
"workspaces": [
"packages/*"
],
部分到您的主要 package.json 文件。 从现在开始,yarn 将处理包的依赖关系。
在您的情况下 - 请输入my-app
的package.json
并将其名称更改为例如“@app/my-app”。 检查 package.json 中 my-app 的版本(我现在假设它是 1.0.0)。
将storybook
的名称更改为@app/storybook
。 然后你可以在 storybook 的 package.json 文件中添加一个依赖项:
"dependencies": {
"@app/my-app": "1.0.0"
...
}
回到根目录app
并运行yarn
命令。 它将解决所有包的所有依赖项。 现在,您可以在故事书中使用 my-app,而无需使用 Lerna。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.