【问题标题】:The 'correct' way to share code across TypeScript, nodejs and JavaScript跨 TypeScript、nodejs 和 JavaScript 共享代码的“正确”方式
【发布时间】:2021-09-04 21:21:24
【问题描述】:

我想要一个包含以下内容的单一存储库:

  • shared: 一堆可以在任何地方使用的 TypeScript
  • WebClientJavaScript 中的 react 网页应用(需要使用 shared 中的代码)
  • WebServer:一个 TypeScript 服务器应用,用于 react 应用(也需要使用 shared 代码)

关键问题是:如何定义、配置和访问共享代码?

我完全迷失了,我尝试了一百种不同的方法,但没有任何效果。任何帮助将不胜感激。

注意:感谢任何 cmets,但请像我 5 岁一样解释!一个包含 3 个 HelloWorld 项目的迷你 GitHub 存储库会很棒!

【问题讨论】:

  • 你有没有想过从共享代码中创建一个 npm 包并在需要时导入它?将其作为一个单独的项目
  • 嘿,您可以使用 lernayarn 工作区来实现这一目标
  • 谢谢,我需要更多详细信息。我什么都试过了。
  • 具体你尝试了什么?他们是怎么失败的?
  • “我已经尝试了一百种不同的方法,但没有任何效果”更加努力。如果您只是 google monorepo react typescript,您将拥有大量工作示例。 (PS:我最近开始使用lerna/yarn workspaces,网上有很多很棒的文章:))

标签: javascript node.js reactjs typescript webpack


【解决方案1】:

安装Lerna 并使用它来管理shared 类作为包。阅读文档,不要害怕尝试它。

如果你想查看一个使用 Lerna 的 Github repo,有很多,其中之一就是 Facebook 的 Jest。

https://github.com/facebook/jest

【讨论】:

  • 我试过了,但在导入共享模块时出错。 tsconfig.json 中的模块应该是什么,以便前端和后端都支持它?
猜你喜欢
  • 2019-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-24
  • 2014-12-13
  • 2021-09-18
  • 2023-03-25
  • 1970-01-01
相关资源
最近更新 更多