Angular 7 找不到获取 tsconfig.json 路径映射的方法

标签 angular typescript angular7 tsconfig

我已经启动了一个 Angular 7 项目,我正在尝试在 angular.json 上配置“路径映射”以改变我的导入方式:

import { environment } from '../../../environments/environment';

为此:

import { environment } from '@environments/environment';

我已经在根级别的 tsconfig.json 文件中完成了这个配置:

"compilerOptions": {
        "baseUrl": "src", // This must be specified if "paths" is.
         ...
        "paths": {
            "@app/*": ["app/*"],
            "@config/*": ["app/_config/*"],
            "@environments/*": ["environments/*"],
            "@shared/*": ["app/_shared/*"],
            "@helpers/*": ["helpers/*"]
        },
...

但是我在cli上也遇到了这个错误

ERROR in src/app/errors/not-foud/not-found.component.ts(2,29): error TS2307: Cannot find module '@environments/environment'

有什么我想念的吗?

最佳答案

使用 angular 9 RC 测试:

description of project

更新两个地方:

在项目基础层面让 vscode 开心:

// tsconfig.json
// .\
{
  ...
   "paths": {
      "@x/*": [
        "x/*"
      ],
      "@web-env/*": [
        "src/environments/*"
      ],
      "@web-app/*": [
        "./projects/web/src/app/*"
      ],
    }
  ...
}

在子项目中,更新它以使 cli 快乐:

// app.tsconfig.json
// .\projects\web\tsconfig.app.json
{
  ...
  "baseUrl": "./",
  "paths": {
    "@web-env/*": [
      "src/environments/*"
    ],
    "@web-app/*": [
      "src/app/*"
    ],
  }
  ...
}

关于Angular 7 找不到获取 tsconfig.json 路径映射的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54831406/

相关文章:

typescript - 角度垫表分页不起作用,整个数据加载到垫表的第一页上

typescript - angular 7 中的 ipad 双击和长按事件

angular - AWS Amplify 和 Angular 7 的 AOT 运行时错误 - API 未定义

angular - 更新 Angular 后无法在 Chrome 中调试 typescript 文件

angular - 无法从 ionic2 Cordova InAppBrowser 插件启动 URL

Javascript Angular 4 从另一个组件更改 ngClass

angular - 在 Angular 2 中使用 Observables 进行错误处理

TypeScript:向命名函数添加接口(interface)(函数声明)?

Angular 与 TypeScript : ReferenceError: System is not defined System. 配置

arrays - 无法获取数组 Angular 中的第一项