Angular cli项目中的绝对路径

use*_*988 3 typescript angular-cli

如何在角度cli生成的项目中使用绝对路径?

所以我有这条道路:src -> app -> shared 我想写import {} from 'shared/ffdsdf/my.module.ts' 而不是'../shared/ffdsdf/my.module.ts'

Mel*_*igy 7

有一个TypeScript功能允许这样做.

您可以修改您的src/tsconfig.json文件以启用此功能,在compilerOptions下面添加以下内容:

{
  "compilerOptions": {
    // ...
    "paths": {
      "*": [
        "./*",
        "app/*",
        "../node_modules/*"
      ]
    }
}

显然,您可以根据需要更改模式键和值.您可以添加或删除文件夹,也可以更改订单等.

您也可以选择一个前缀而不仅仅是*(特别是如果它出现问题),您可以使用类似的东西~/*,然后您的导入将是全部from '~/shared/sample'等.


Mas*_*mar 7

better sample:

tsconfig.json

{
  "compilerOptions": {
    "baseUrl": "src",
    "paths": {
      "@app/*": [
        "app/*"
      ],
      "@app/core/*": [
        "app/core/*"
      ],
      "@app/shared/*": [
        "app/shared/*"
      ],
      "@env/*": [
        "environments/*"
      ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

use:

import { someService } from "@app/core/some.service";
Run Code Online (Sandbox Code Playgroud)

instead of:

import { someService } from "./../../core/some.service";
Run Code Online (Sandbox Code Playgroud)