首页 > 解决方案 > 如何为`tsc-watch`注册`tsconfig-paths`?

问题描述

我正在尝试为运行它的应用程序设置相对路径tsc-watch。但是当我尝试从功能文件夹访问共享文件夹中的枚举时,我得到“错误:找不到模块”。运行应用程序工作正常。我如何使用with ?ts-nodetsconfig-pathstsc-watch

这是我的项目的回购:https ://github.com/Nako68l/nestjs-task-management

标签: nestjstsctsconfig-paths

解决方案


TL;DRIS_TS_NODE在运行期间有 env var tsc-watch

我如何使用tsconfig-pathswith tsc-watch

tsc-watch没有关于路径映射的知识或责任。映射可以用这样的包来实现:

  1. Node.js 运行时的模块别名。它修改默认require行为。
  2. @ef-carbon/tspm用于在 typescript 编译后更改 js 文件。
  3. Node.js/TS-node 运行时的tsconfig-paths。它还修改了默认require行为。tsconfig.json 用于配置。对于 Node.js 运行时,您应该在已编译文件夹中包含 tsconfig.json 的副本。

在您的存储库中,您混合了 1 和 3 个解决方案:

  • module-alias使用,如果 env varIS_TS_NODE未定义(src/main.ts
  • tsconfig-paths与 ts-node 一起使用,因为你有-r tsconfig-paths/register

IS_TS_NODE在运行期间有 env var tsc-watch,因此module-alias不起作用。

使用一种解决方案来避免这种情况。


推荐阅读