如何在具有多个tsconfig.json的项目中设置路径属性?

时间:2018-06-29 09:52:50

标签: typescript tsconfig

我具有以下文件结构

|__ app1/
|   |__ tsconfig.json
|__ utilities/
|   |__ files.ts
|__ base-tsconfig.json

base-tsconfig.json中,我将paths属性设置如下

"compilerOptions": {
        "baseUrl": ".",
        "paths": {
            "utils/*": ["utilities/*"]
        }
}

tsconfig.json中看起来如下

{
    "extends": "../base-tsconfig",
}

那应该足够了吧? 不过,我仍然收到以下消息。

  

找不到模块'utils'

2 个答案:

答案 0 :(得分:1)

"paths"选项可用于通知编译器映射,但它本身不会执行这些路径转换。您可以阅读有关此in the docsin this issue的更多信息。您最有可能使用的是不 允许重新映射,例如Node.js的require()。

module-aliastsconfig-paths等软件包可帮助解决此问题。

答案 1 :(得分:0)

问题是您提供的paths分辨率(utils/*)无法解决

import utils from `utils`

您应该使用

"paths": {
            "utils": ["utilities"]
        }

或者如果您还需要范围内的条目或子条目,则应涵盖两种情况:

"paths": {
            "utils": ["utilities"],
            "utils/*": ["utilities/*"]
        }