首页 > 解决方案 > 如何在不编译 typescript 的情况下在 typescript monorepo 中使用 vs-code 和 ts-node 进行调试

问题描述

我用 lerna 初始化了一个 monorepo。

monorepo 有 2 个包:@mono/util1, @mono/util2. 并且util1util2我希望的那样链接到根节点模块:

在此处输入图像描述

util2 依赖于 util1

在此处输入图像描述

这两个包都有一个src目录和一个dist目录。在我运行 tsc 之前,dist 目录都是空的。

这两个包都"main": "dist/index.js"在他们的package.json.

问题来了:当我node -r ts-node/register packages/util2/src/index.ts使用 vs-code 调试器运行时,它会抛出一个错误:Error: Cannot find module '@mono/util1'

这是因为在 root 中node_modules/@mono/util1/package.json,它的主要文件是dist/index.js. 现在我想当 util2 导入 util1 时,它可以解析为node_modules/@mono/util1/src/index.tsnot to node_modules/@mono/util1/dist/index.js。我应该怎么办?

标签: javascriptnode.jstypescriptmonorepo

解决方案


推荐阅读