代码之家  ›  专栏  ›  技术社区  ›  Tom

如何使用typescript的引用和构建模式将mono repo编译为无服务器包?

  •  2
  • Tom  · 技术社区  · 7 年前

    typescript最近引入了一个新功能来处理monorepos:references。通过指定引用,可以使用 tsc -b (也见此 blog post )

    这似乎是一个大型mono repo的理想选择,其中一些包是无服务器服务。这些服务通常依赖于Monorepo的一个或多个包。我在这里创建了一个示例:

    https://github.com/tommedema/serverless-mono-example

    当建筑与 TSC-B ,问题是无服务器框架需要上载单个artifact.zip(在我的例子中是到AWS)。在构建无服务器服务时,例如 this example ,仅绑定最近源文件的编译文件。

    如何将typescript的引用功能用于无服务器mono repos?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Matt McCutchen    7 年前

    如果它可以为您生成单个输出文件并使用模块加载程序,则可以使用 outFile and prepend .

    如果您需要多个输出文件,那么在这种情况下,也许值得提出一个建议,要求提供捆绑依赖项的选项;您将是今天第二个在堆栈溢出时提出此问题的人。编辑: Suggestion is here .

    编辑2:经过广泛的讨论,结论是 nohoist 最终纱线工作区的选项,它为我们提供了 node_modules 到其他工作区。在我们打电话之后 tsc -b 在最终的工作区中,无服务器打包工具遵循符号链接并生成具有正确结构的zip文件。在typescript级别不需要绑定。警告:yarn似乎在最终工作区中安装依赖项的devdependencies,这对我来说似乎是错误的,并将无服务器混淆为不必要地将这些模块包含在包中。