You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在tsconfig.json中为@filesTwo/environments配置差异化路径?

解决tsconfig paths覆盖规则的配置问题

针对你的需求,最简洁的解决方式是将特殊路径规则放在通用规则的前面(tsconfig的paths按配置顺序匹配,优先级从上到下),同时调整目标路径的写法适配插件要求:

情况1:导入@filesTwo/environments(无后续子路径)

如果你的导入是直接引用@filesTwo/environments,需要指向具体的../../environments/src目录,配置如下:

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "declaration": false,
    "baseUrl": "./",
    "paths": {
      "@filesTwo/environments": ["../../environments/src"],
      "@filesOne/*": ["../../filesOne/*/src"],
      "@filesTwo/*": ["../../filesTwo/*/src"]
    }
  }
}

情况2:导入@filesTwo/environments/xxx(带子路径)

如果是要让@filesTwo/environments/xxx这类带子路径的导入指向../../environments/xxx/src,则需要给规则加上通配符:

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "declaration": false,
    "baseUrl": "./",
    "paths": {
      "@filesTwo/environments/*": ["../../environments/*/src"],
      "@filesOne/*": ["../../filesOne/*/src"],
      "@filesTwo/*": ["../../filesTwo/*/src"]
    }
  }
}

之前配置报错的原因

你之前的写法"@filesTwo/environments": ["../../environments/*/src"]存在两个问题:

  1. 精确匹配的模块名(无*)对应了带通配符的目标路径,插件esbuild-ts-paths无法将其解析为有效的具体文件/目录路径,导致返回非绝对路径的错误。
  2. 特殊规则放在了通用规则后面,即使写法正确也会被@filesTwo/*的规则优先匹配。

内容的提问来源于stack exchange,提问作者George Ji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 19:42:29