簡體   English   中英

tsconfig.app.json 的別名不起作用 Angular 11

[英]Aliasing for tsconfig.app.json not working Angular 11

自從我將應用程序移入 angular 項目后,我在使用別名時遇到問題

我的所有導入都不適用於我的“@app”別名

mainApp
│   package.json
│   tsconfig.json
│   angular.json    
│
└───projects
    │  
    └───my-project (That I need the aliasing for)
        │  tsconfig.app.json
        │ 
        └───src
             │  
             └───app

當我使用:

import { MyService } from '@app/shared/services/my.service';

我收到錯誤

在我的 tsconfig.app.json 中:

{
  "extends": "../../tsconfig.json",
  "compilerOptions": {
    "outDir": "../../out-tsc/app",
    "types": []
  },
  "files": [
    "src/main.ts",
    "src/polyfills.ts"
  ],
  "baseUrl": "./",
    "paths": {
      "@app/*": ["src/app/*"],
      "@env/*": ["environments/*"]
    },
  "include": [
    "src/**/*.d.ts"
  ]
}

我試過了

"@app/*": ["projects/my-project/src/app/*"],

我還更新了我的主要 tsconfig.json:

....
"baseUrl": "./",
  "paths": {
    "@app/*": ["src/app/*"],
    "@env/*": ["environments/*"]
  },
...

然后為項目服務:

ng serve --project my-project

問題是因為我的路徑 object 在compilerOptions object 之外,所以:

 "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@app/*": ["projects/my-/src/app/*"],
      "@env/*": ["environments/*"]
    },
    "outDir": "./dist/out-tsc",
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    "module": "es2020",
    "lib": [
      "es2018",
      "dom"
    ]
  }

工作! 而不是

 "compilerOptions": {
.......
},"paths": {
      "@app/*": ["projects/my-project/src/app/*"],
      "@env/*": ["environments/*"]
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM