关于angular4项目中来自@ app / *的导入{**}

时间:2017-09-19 01:17:25

标签: angular tsconfig

我在角度项目中遇到了一个奇怪的现象。

我的项目是从命令行自动生成的(ng new myproject)

在项目中,目录

  • 应用
    • 共享
      • 共同
        • 应用组分-base.ts
      • 雪村
        • APP-session.service

应用组分-base.ts

import { AppSessionService } from '@shared/session/app-session.service';

tsconfig.app.json:

"paths": {
    "@abp/*": [ "../node_modules/abp-ng2-module/src/*" ],
    "@app/*": [ "./app/*" ],
    "@shared/*": [ "./app/shared/*" ],
    "@node_modules/*": [ "../node_modules/*" ]
}

vscode显示错误(这不会影响正常操作,但无法导航到此类):

[ts] Cannot find module '@shared/session/app-session.service'.

我有任何配置错误吗? 谢谢!

我知道可以这样,但我想使用通用符号:

import { AppSessionService } from '../session/app-session.service';



@angular/cli: 1.4.2
node: 6.10.2
os: win32 x64
@angular/animations: 4.4.2
@angular/common: 4.4.2
@angular/compiler: 4.4.2
@angular/core: 4.4.2
@angular/forms: 4.4.2
@angular/http: 4.4.2
@angular/platform-browser: 4.4.2
@angular/platform-browser-dynamic: 4.4.2
@angular/router: 4.4.2
@angular/cli: 1.4.2
@angular/compiler-cli: 4.4.2
typescript: 2.5.2

1 个答案:

答案 0 :(得分:2)

我注意到了一些事情。一,你的"路径"设置应该在tsconfig.json而不是tsconfig.app.json中。其次,我的路径看起来像这样:

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