Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度tsconfig.ts路径绝对导入不';t解析模块_Angular_Typescript - Fatal编程技术网

Angular 角度tsconfig.ts路径绝对导入不';t解析模块

Angular 角度tsconfig.ts路径绝对导入不';t解析模块,angular,typescript,Angular,Typescript,当Angular中的绝对导入无法按预期工作时,我遇到了一个问题。使用以下设置 // tsconfig.json { "compileOnSave": false, "compilerOptions": { "baseUrl": "./", "moduleResolution": "node", ... "paths": { "@models/*": [ "src

当Angular中的绝对导入无法按预期工作时,我遇到了一个问题。使用以下设置

// tsconfig.json
{
    "compileOnSave": false,
    "compilerOptions": {
        "baseUrl": "./",
        "moduleResolution": "node",
        ...
        "paths": {
            "@models/*": [
                "src/app/models/*"
            ]
        }
    }
}

// tsconfig.app.json
{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "types": []
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts",
    "**/*.e2e.ts"
  ]
}
目录结构如下:

/src/app/models
               /index.ts
               /my-model.ts
// index.ts
export * from './my-model';
"@models/*": [
    "src/app/models/*",
    "src/app/models/"
]
"paths": {
    "@models": [
        "src/app/models"
    ],
    "@models/*": [
        "src/app/models/*"
    ],
}
以下导入按预期工作

import { MyModel } from '../../models';
import { MyModel } from '@models/index';
但是下面的不起作用,而它应该起作用

import { MyModel } from '@models';
更新1:如果我更改路径定义如下:

/src/app/models
               /index.ts
               /my-model.ts
// index.ts
export * from './my-model';
"@models/*": [
    "src/app/models/*",
    "src/app/models/"
]
"paths": {
    "@models": [
        "src/app/models"
    ],
    "@models/*": [
        "src/app/models/*"
    ],
}
下面的导入也适用

import { MyModel } from '@models/';
更新2:刚刚注意到以下设置:

"@models/*": [
    "app/models/*"
]
以下导入仅适用于angular cli,即使vc代码抱怨找不到该组件

import { MyModel } from '@models/';
更新3:有趣的观察结果。刚才查看了另一个项目的路径配置(由cli生成)和定义如下的路径:

/src/app/models
               /index.ts
               /my-model.ts
// index.ts
export * from './my-model';
"@models/*": [
    "src/app/models/*",
    "src/app/models/"
]
"paths": {
    "@models": [
        "src/app/models"
    ],
    "@models/*": [
        "src/app/models/*"
    ],
}
使用此设置,导入将按预期工作:

import { MyModel } from '@models';

所以现在的问题是,这是TS还是Angular CLI?

也添加“@models”:[“src/app/models”]可能会有所帮助?@MikeOne如果添加此配置,它会改变一些东西。。但并非完全如此-请参阅更新。看起来像是baseUrl问题。请检查。至少它现在似乎起作用了,对吧?为了安全起见,我可能还会做一个-prod构建来确保你的解决方案继续工作。这不是一个解决方案,而是一个变通方法。我在3个不同的项目中使用了绝对路径,没有任何问题。是什么原因导致了这个问题。我也经常使用它们——有时也会遇到问题。我的IDE有时也无法解析导入。。只有在几次重新启动后,它才会“突然”看到它。不知道为什么..同时添加“@models”:[“src/app/models”]可能会有帮助?@MikeOne如果添加此配置,它会改变一些东西。。但并非完全如此-请参阅更新。看起来像是baseUrl问题。请检查。至少它现在似乎起作用了,对吧?为了安全起见,我可能还会做一个-prod构建来确保你的解决方案继续工作。这不是一个解决方案,而是一个变通方法。我在3个不同的项目中使用了绝对路径,没有任何问题。是什么原因导致了这个问题。我也经常使用它们——有时也会遇到问题。我的IDE有时也无法解析导入。。只有在几次重新启动后,它才会“突然”看到它。不知道为什么。。