繁体   English   中英

我可以(并且应该)在不发布到 NPM 的情况下使用 Lerna 吗?

[英]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-apppackage.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM