【问题标题】:Path alliases not woking as expected Angular/NX workspace路径别名未按预期工作 Angular/NX 工作区
【发布时间】:2022-08-06 03:03:58
【问题描述】:

让我先说我已经定义了路径只要在全局 tsconfig 文件中。

这是我的项目解决方案

我的路径tsconfig.base.json

{
  \"compileOnSave\": false,
  \"compilerOptions\": {
    \"baseUrl\": \".\",
    \"paths\": {
      \"@app/*\": [\"apps/app/src/app/*\"]
    },
    \"outDir\": \"./dist/out-tsc\",
    \"sourceMap\": true,
    \"declaration\": false,
    \"downlevelIteration\": true,
    \"moduleResolution\": \"node\",
    \"importHelpers\": true,
    \"target\": \"es2017\",
    \"module\": \"es2020\",
    \"lib\": [\"es2018\", \"dom\"],
    \"resolveJsonModule\": true,
    \"experimentalDecorators\": true,
    \"emitDecoratorMetadata\": true,
    \"allowSyntheticDefaultImports\": true,
    \"rootDir\": \".\"
  }
}

我已经为基本 url 和路径尝试了所有可能的替代方案,但我似乎无法正确使用,有什么我遗漏的吗?

标签: angular typescript nrwl-nx


【解决方案1】:

据我所知, tsConfig 在使用基本/子文件时不会合并对象。因此,如果您在主应用程序项目 tsConfig.app.json 中设置了 compilerOptions,据我了解,它将覆盖基本文件的 compilerOptions 对象,包括 paths 键,即使您没有paths 子文件中的键。

可悲的是,唯一适用于与此类似的应用程序的解决方案是将paths 放在所有使用的单个应用程序/lib tsConfigs 中。如果您愿意,这确实有好处,它是一种允许在 app/lib 中引用和不能引用的方法,特别是如果您在导入中强制使用路径前缀。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    • 2019-04-15
    • 2018-08-24
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    相关资源
    最近更新 更多