Angular 角模中的共享类

Angular 角模中的共享类,angular,module,Angular,Module,我希望有一个共享模块类,我可以导入到其他模块。大概是这样的: import { SomeClass } from '/path/to/shared/module' 我希望避免像这样直接导入类 import { SomeClass } from '/path/to/class' 基本上,我想要从Java中的包或从c#中的命名空间进行导入。我只能从共享模块中找到使用组件、服务或指令,但没有类。我知道我可以使用桶文件,但这似乎是更好的解决方案,适合我的需要它的模式与使用组件、服务、指令等相同 为整

我希望有一个共享模块类,我可以导入到其他模块。大概是这样的:

import { SomeClass } from '/path/to/shared/module'
我希望避免像这样直接导入类

import { SomeClass } from '/path/to/class'

基本上,我想要从Java中的包或从c#中的命名空间进行导入。我只能从共享模块中找到使用组件、服务或指令,但没有类。我知道我可以使用桶文件,但这似乎是更好的解决方案,适合我的需要

它的模式与使用组件、服务、指令等相同

为整个应用程序中的任何共享类找到一个好的家

您的共享类:

export class SomeClass {
    ...
}
要使用共享类的任何位置:

import { SomeClass } './path/to/shared/class';
请看一些有关MDN的示例:


然而,如果你想让这个超级“角度化”,你可能想看看使用一个

它与使用一个组件、服务、指令等的模式是一样的

为整个应用程序中的任何共享类找到一个好的家

您的共享类:

export class SomeClass {
    ...
}
要使用共享类的任何位置:

import { SomeClass } './path/to/shared/class';
请看一些有关MDN的示例:


但是,如果您试图使这个超级“成角化”,您可能需要考虑使用路径别名

文件夹结构:

src
└── shared
    ├── module1
    │   ├── index.ts
    │   └── module1.module.ts
    └── module2
        ├── index.ts
        └── module2.module.ts
src/shared/module1/index.ts

export * from './module1.module.ts'
src/shared/module2/index.ts

export * from './module2.module.ts'
在tsconfig.json中添加别名:

{
  "compilerOptions": {
    ...
    "paths": {
      "@shared/*": ["src/app/shared/*"],
    }
  }
}
这就是你如何使用它:

import { Module1 } from '@shared/module1';

使用路径别名

文件夹结构:

src
└── shared
    ├── module1
    │   ├── index.ts
    │   └── module1.module.ts
    └── module2
        ├── index.ts
        └── module2.module.ts
src/shared/module1/index.ts

export * from './module1.module.ts'
src/shared/module2/index.ts

export * from './module2.module.ts'
在tsconfig.json中添加别名:

{
  "compilerOptions": {
    ...
    "paths": {
      "@shared/*": ["src/app/shared/*"],
    }
  }
}
这就是你如何使用它:

import { Module1 } from '@shared/module1';

这回答了你的问题吗?这回答了你的问题吗?