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

问题描述 投票:0回答:1

我有一个由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

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

serverless-framework
1个回答
0
投票

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

然后您可以在package.json中的api1文件中使用相对路径简单地要求它们:

  "name": "api1",
  "dependencies": {
    "common_code_1": "file:../common_code_1",
    "common_code_2": "file:../common_code_2",
    ...
  }

然后,无服务器框架将在打包应用程序以进行部署时解决这些软件包。


推荐问答