我\xe2\x80\x99m 使用 aws amplify,并使用 lambda 层和打字稿。\n因为我的项目很大,所以我简化了文件夹结构来解释我的问题
\n\n在根级别上,我有 amplify 文件夹,其中包含每个 lambda 函数和每个 lambda 层的文件夹内部。
\n同样在根级别,我引入了一个“amplifyTypescript”文件夹,其中还包含每个 lambda 的文件夹和每个 lamda 层的打字稿源。
\ntsconfig.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]\nRun 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 …