【问题标题】:How to add subdirectory module aliases in tsconfig?如何在 tsconfig 中添加子目录模块别名?
【发布时间】:2019-09-17 23:22:38
【问题描述】:

我可以毫无问题地设置模块别名:

"baseUrl": "./app",
 "paths": {
   "assets/*": ["assets/*"],
   "components/*": ["components/*"],
   ...
 },           

这行得通。但是,我(实际上是我的客户,希望将来将项目的某些部分提取为模块)想要创建子目录作为不同路径的别名(假设所有目录作为值都存在,我无法更改实际的目录结构):

"paths": {
   "assets/*": ["assets/*"],
   "components/*": ["components/*"],
   "@myapp/api/*": ["services/myapp/*"],
   "@myapp/state/*": ["state/*"],
 },       

暂且不说这是否是一个好的模式/实践(因为我被要求这样做),这在技术上是否可行,而不涉及物理目录结构(并且不使用第 3 方依赖项)? (我使用的是 Typescript 3.4.3 和 Vscode 1.33.1)

【问题讨论】:

    标签: node.js typescript tsconfig typescript3.0 module-alias


    【解决方案1】:
    "baseUrl": "./",
    "paths": {
      "@myapp/environment": [ "./src/environments/environment" ],
      "@myapp/extensions": [ "./src/extensions" ],
      "@myapp/testing": [ "./src/testing" ],
      "@myapp/constants": [ "./src/app/shared/constants" ],
      "@myapp/data": [ "./src/app/data" ],
      "@myapp/shared": [ "./src/app/shared" ],
      "@myapp/core/*": [ "./src/app/core/*" ],
      "@myapp/*": [ "./src/app/*" ]
    }
    

    这对我的项目来说就像一个魅力

    【讨论】:

      猜你喜欢
      • 2012-02-20
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      • 2021-01-10
      • 1970-01-01
      • 1970-01-01
      • 2015-03-10
      • 2020-02-23
      相关资源
      最近更新 更多