Angular2:找不到命名空间'环境'

Lan*_*ara 5 typescript angular

我已经配置了我的tsconfig.json所以我可以在我的代码中使用简短的导入路径以简化.例如,我可以做import { FooService } from 'core'而不是被迫做类似的事情import { FooService } from '../../../core/services/foo/foo.service'.

这工作得很好,除了某些原因我现在已经创建了一个新文件,其中一个导入错误:

找不到命名空间'环境'.

由于以下行发生此错误: import { environment } from 'environment';

这很奇怪,因为我在许多其他服务中都有相同的导入,并且没有一个抛出错误,它只发生在我创建的这个新文件中.

这是我的tsconfig.json:

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "baseUrl": "src",
    "paths": {
      "core": ["app/core"],
      "core/*": ["app/core/*"],

      "shared": ["app/shared"],
      "shared/*": ["app/shared/*"],

      "modal": ["app/modal"],
      "modal/*": ["app/modal/*"],

      "environment": ["environment/environment"]// HERE
    },
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2016",
      "dom"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,paths设置正确.如果它们不是,它将无法在其他文件中一直工作......

这里发生了什么?有人知道怎么修这个东西吗?

Lan*_*ara 7

问题解决了

我的代码中有一个拼写错误导致了这个问题.很难找到,因为intellisense没有强调它.

我有: url: environment.serverUrl;

什么时候我应该: url: string = environment.serverUrl;

我偶然使用了一个值作为类型.哎呀!