当从 Angular 9 应用程序中提供路径别名的文件夹自动导入服务/组件时,我遇到了奇怪的问题。
这些是我在中定义的别名tsconfig.json
"paths": {
"@core/*": ["app/core/*"],
"@shared/*": ["app/shared/*"],
"@state/*": ["app/state/*"]
}
然后在 Core 文件夹中,我重新导出所有服务index file (app/core/index.ts
)
export * from './sse/sse.service';
export * from './rack/rack.service';
现在,当我在构造函数中注入服务时,提供的自动导入选项将使用错误的路径导入:
// Incorrect - auto imported path
import { RackService } from '@core/';
// Correct path after manual fix
import { RackService } from '@core/index';
这只是一个小问题,但同时也很烦人,我不确定这是否是我这边的一些不正确的配置,或者 VS Code 问题。任何想法?这可能是由 JEST 引起的,因为我使用它而不是 Jasmine,并且它需要在中定义别名package.json
also.
"jest": {
"preset": "jest-preset-angular",
"setupFilesAfterEnv": [
"./src/setup-jest.ts"
],
"moduleNameMapper": {
"^@core/(.*)$": "<rootDir>/src/app/core/$1",
"^@shared/(.*)$": "<rootDir>/src/app/shared/$1",
"^@state/(.*)$": "<rootDir>/src/app/state/$1"
}
},