在综合/部署期间解决 AWS CDK 中具有 TypeScript 路径别名的内部模块的 MODULE_NOT_FOUND 错误

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

我正在使用 TypeScript 开发一个 AWS CDK 项目,并在运行 cdk Synth 或 cdk deploy 时遇到模块解析问题(构建成功)。我的项目结构包括我尝试导入到 CDK 堆栈中的内部模块,但在综合/部署期间收到 MODULE_NOT_FOUND 错误。

项目结构

tsconfig.json

stack.ts

常量.ts

错误信息

尝试解决:

  1. 我已经验证了文件路径并确保constant.ts存在于指定位置。
  2. 我尝试使用相对(../common/type/constant)和绝对导入(common/model/constant)路径。
  3. 运行 tsc 直接编译没有任何问题,但 cdk Synth 或 cdk deploy 会抛出错误。
  4. 我也尝试过清除node_modules并重新安装,但没有成功。

我怀疑该问题可能与 CDK CLI 如何处理 TypeScript 路径别名或可能与我的 TypeScript 项目的配置方式有关。但是,我不确定如何诊断或修复问题以允许我的 CDK 应用程序正确解析和导入这些内部模块。

问题:

  1. 如何调整 TypeScript 或 CDK 配置来解决此问题?
  2. 在确保 CDK CLI 能够正确处理 TypeScript 路径别名的过程中我是否缺少一个步骤?
  3. AWS CDK 和 TypeScript 导入是否存在我应该注意的已知限制或注意事项?
  4. 任何有关 AWS CDK 和 TypeScript 在这种情况下如何协同工作的指导、诊断提示或见解将不胜感激。
javascript node.js aws-lambda aws-cdk-typescript typescript-module-resolution
1个回答
0
投票

我也遇到了类似的问题,但我的路径没有得到解决。

在我的搜索中,我遇到了一条评论,建议tsx解决相关问题:

我不需要安装 tsx。

在 cdk.json 中,我将“npx ts-node --prefer-ts-exts bin/my-app.ts”替换为“npx tsx bin/my-app.ts”

这解决了我的问题。希望有帮助

© www.soinside.com 2019 - 2024. All rights reserved.