文件“ ../foo.ts”不在rootDir下。 rootDir应该包含所有源文件

时间:2019-10-21 13:27:36

标签: serverless-framework

我有一个由3个api组成的无服务器应用程序。他们共享大量代码。我准备了整个应用程序,使它可以根据我当时的需要单独启动每个api或同时启动每个api。有一些脚本可以分开部署API,也可以一次全部部署。

这里的问题是共享代码。由于是共享的,因此我需要通过所有API复制它们,以使所有内容平稳运行,因为我无法在任何API外部都拥有一个包含该代码的文件夹。它会引发我在标题中输入的错误。

我的文件夹结构是这个:

src
|- api1
   |- serverless.yml (for api1)
|- api2
   |- serverless.yml (for api2)
|- api3
   |-serverless.yml (for api3)
|- common_code_1
|- common_code_2

我将这2个文件夹注册为tsconfig.json中的路径,但无论如何都会引发错误。如何在API之间共享此代码而不进行复制?

1 个答案:

答案 0 :(得分:0)

如果您使用的是npm,建议您在package.jsoncommon_code_1中创建一个common_code_2文件。

然后,您只需在package.json的{​​{1}}文件中使用相对路径就可以要求它们:

api1

然后,在打包要部署的应用程序时,无服务器框架将解析这些软件包。