小编Ste*_*mer的帖子

排除打字稿中的导入(lambda 层的上下文)

我\xe2\x80\x99m 使用 aws amplify,并使用 lambda 层和打字稿。\n因为我的项目很大,所以我简化了文件夹结构来解释我的问题

\n

文件夹结构

\n

在根级别上,我有 amplify 文件夹,其中包含每个 lambda 函数和每个 lambda 层的文件夹内部。

\n

同样在根级别,我引入了一个“amplifyTypescript”文件夹,其中还包含每个 lambda 的文件夹和每个 lamda 层的打字稿源。

\n

tsconfig.json 看起来像这样。

\n
{\n"compilerOptions": {\n    "module": "commonjs",\n    "target": "es6",\n    "outDir": "../../amplify/backend/function/lambdaFunction1",\n    "rootDir": ".",\n    "sourceMap": true,\n    "strict": false,\n    "experimentalDecorators": true,\n    "baseUrl": ".",\n    "resolveJsonModule": true,\n    "paths": {\n        "/opt/lambdaLayer/database/index": ["../lambdaLayer/database/index"]\n    }\n},\n"exclude": [\n    "../lambdaLayer/",\n    "lambdaLayer/database/index.ts",\n    "**/lambdaLayer**",\n    "../lambdaLayer/database/index",\n    "/opt/lambdaLayer/database/index"\n]\n
Run Code Online (Sandbox Code Playgroud)\n

}

\n

在 lambdaFunction1 中,我有以下导入语句。\nimport { fConnect } from \'/opt/lambdaLayer/database/index\';

\n

首先出现的问题是,路径 /opt/... 显然在我的笔记本电脑上不存在。\n因此我在 tsconfig 中引入了路径映射(见上文)。

\n

然后我收到错误,../lambdaLayer/database/index 位于 lambdaFunction1 的“rootDir”之外。\n这是正确的,但它是 lambdaLayer。最后我想在转译过程中忽略这一点......

\n …

typescript aws-lambda aws-amplify aws-lambda-layers

7
推荐指数
0
解决办法
569
查看次数