注册全局模块-找不到模块

时间:2020-02-22 13:15:52

标签: angular

我购买了保险丝模板,它包含位于@fuse目录中的自定义组件。

我通过该目录复制到了我的新项目。 但是,我得到一条红色的波浪线(错误)并说

找不到模块'@ fuse / fuse.module'.ts(2307)

我该如何注册?

import { FuseModule } from '@fuse/fuse.module';
import { FuseSharedModule } from '@fuse/shared.module';
import { FuseProgressBarModule, FuseSidebarModule, FuseThemeOptionsModule } from '@fuse/components';

2 个答案:

答案 0 :(得分:1)

除非您安装了名为“ @fuse”的软件包,否则如果您使用@fuse进行导入,则该软件包将无法工作,因为该应用程序找不到此类模块。

由于已将目录复制到应用程序中,因此必须提供文件夹的路径:

import { FuseModule } from '../../@fuse/fuse.module';

或您的tsconfig.json文件中的简单添加路径别名:

{
 "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@fuse/*": ["src/app/@fuse/*"],
    }
}

答案 1 :(得分:0)

两件事

  1. 如果此模块仅公开组件(我认为是这种情况):

    • 将该模块添加到每个模块的导入部分(在NgModule装饰器内),其中 您正在使用此模块。
    • 我建议您在上面执行一个共享模块,并将该共享模块导入所有其他模块
  2. 如果此模块仅公开服务:

    • 在应用程序模块中添加此模块。
  3. 对于模块同时暴露这两种情况(有点困难)的情况:

    • 在角度文档中使用root签出