Typescript 目录中所有文件的TsConfig.json路径匹配

Typescript 目录中所有文件的TsConfig.json路径匹配,typescript,import,path,glob,tsconfig,Typescript,Import,Path,Glob,Tsconfig,我一直在研究tsconfig.json,发现它可以创建路径。 目前,我唯一能找到有效的方法是: "compilerOptions": { "baseUrl": "./src/app", "paths": { "@components": ["components/*"] } import { dialogSale } from '@components/dialog-sale/dialog-sale.component'; import { dialogSale } from

我一直在研究
tsconfig.json
,发现它可以创建路径。 目前,我唯一能找到有效的方法是:

"compilerOptions": {
  "baseUrl": "./src/app",
  "paths": {
    "@components": ["components/*"]
}
import { dialogSale } from '@components/dialog-sale/dialog-sale.component';
import { dialogSale } from '@components/dialog-sale.component';
这样我就可以做这样的事情:

"compilerOptions": {
  "baseUrl": "./src/app",
  "paths": {
    "@components": ["components/*"]
}
import { dialogSale } from '@components/dialog-sale/dialog-sale.component';
import { dialogSale } from '@components/dialog-sale.component';
这很好,但是对于我的文件夹结构来说,时间有点长,因为我的基本路径已经在应用程序中,所以我只需执行此操作,实际上缩短了1个字符:

import { dialogSale } from 'components/dialog-sale/dialog-sale.component';
为了缩短导入语句并减少子目录中的开发人员错误,我希望能够这样使用:

"compilerOptions": {
  "baseUrl": "./src/app",
  "paths": {
    "@components": ["components/*"]
}
import { dialogSale } from '@components/dialog-sale/dialog-sale.component';
import { dialogSale } from '@components/dialog-sale.component';

以上是最理想的方法,因为它减少了开发人员出错的机会,并且可以直接和直接地导入语句。

如果您希望它更短,您应该进一步指定您的路径。 例如:

"compilerOptions": {
  "baseUrl": "./src/app",
  "paths": {
    "@components": ["components/dialog-sale/*"]
 }
}
然后你可以使用:

import { dialogSale } from '@components/dialog-sale.component';
如果您以后想添加与dialog sale不同的其他“组件”,这将不太实际。。在这种情况下,您可以:

"compilerOptions": {
  "baseUrl": "./src/app",
  "paths": {
    "@dialogSale": ["components/dialog-sale/*"]
 }
}
和使用:

import { dialogSale } from '@dialogSale/dialog-sale.component';
取决于它对您的最佳效果。
希望这有帮助

嘿,莱斯利实际上忘记了这篇文章。我会将其标记为这样写是正确的,但如果您还可以添加一个更具包容性的glob模式,例如“components/***”,这将非常好,因为它是“components”中的任何文件,而不仅仅是“components/dialog sale”中的文件,这会更好。谢谢