“似乎不是 NgModule 类。”更新到 Angular@15 后出错

2024-03-01

我正在尝试从以下位置更新Angular@13 to Angular@15。这样做之后,我收到了我完全不明白的编译错误。

 'SharedModule' does not appear to be an NgModule class.
  src/app/shared/shared.module.ts:127:14
    127 export class SharedModule {
                     ~~~~~~~~~~~~
    Is it missing an @NgModule annotation?

这是我在导入了其他模块的整个项目中使用的模块。 这是该模块的代码。@NgModule注释是有的。

import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {RouterModule} from '@angular/router';

import {FontAwesomeModule} from '@fortawesome/angular-fontawesome';


import {TooltipsModule} from '@lukana/tooltips';
import {DropdownsModule} from '@lukana/dropdowns';

import {SchematerModule} from '@schemater/core';
import {SchematerComponentsModule} from '@schemater/components';
import {SchematerFilterBarModule} from '@schemater/filter-bar';
import {DropdownComponent} from './components/dropdown/dropdown.component';
import {BlankPageComponent} from '@app/shared/pages/blank-page/blank-page.component';
import {PageEmptyRouterOutletComponent} from '@app/shared/pages/page-empty-router-outlet/page-empty-router-outlet.component';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {StickyDirective} from './components/sticky/sticky.directive';
import {LoadingIndicatorModule} from '@lukana/loading-indicator';
import {NgSelectModule} from '@ng-select/ng-select';
import {A11yModule} from '@angular/cdk/a11y';
import {FormularzeModule} from '@app/utils/formularze/formularze.module';
import {UprawnieniaSharedModule} from '@app/administrator/uprawnienia/uprawnienia-shared/uprawnienia-shared.module';
import {PokazUkryjModule} from '@app/utils/pokaz-ukryj/pokaz-ukryj.module';
import {IkonkiModule} from '@app/shared/ikonki/ikonki.module';
import {ClickStopPropagationDirective} from './components/click-stop-propagation.directive';
import {DostosowanieSharedModule} from '@app/dostosowanie/dostosowanie-shared/dostosowanie-shared.module';
import {ListyModule} from '@app/shared/listy/listy.module';
import {ContainerResizeObserverModule} from '@app/utils/container-resize-observer/container-resize-observer.module';
import {IkonkaRozwijaniaModule} from '@app/utils/ikonka-rozwijania/ikonka-rozwijania.module';
import {ModulySharedModule} from '@app/moduly/moduly-shared/moduly-shared.module';
// import {DragDropModule} from '@angular/cdk/drag-drop';

// defineLocale('pl', plLocale);

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    ReactiveFormsModule,
    RouterModule,

    A11yModule,
    // BsDatepickerModule.forRoot(),
    // SortablejsModule.forRoot({animation: 150}),
    // DragDropModule,
    NgSelectModule,
    ModulySharedModule,

    TooltipsModule,
    DropdownsModule,
    LoadingIndicatorModule.forRoot({}),
    SchematerModule,
    SchematerComponentsModule,
    SchematerFilterBarModule,

    UprawnieniaSharedModule,
    IkonkiModule,

    FormularzeModule,
    PokazUkryjModule,

    DostosowanieSharedModule,
    ListyModule,
    ContainerResizeObserverModule,
  ],
  declarations: [
    // pages
    BlankPageComponent,
    PageEmptyRouterOutletComponent,
    // components
    DropdownComponent,
    StickyDirective,
    ClickStopPropagationDirective,
  ],
  exports: [
    FormsModule,
    ReactiveFormsModule,
    RouterModule,
    UprawnieniaSharedModule,
    ModulySharedModule,

    A11yModule,

    FontAwesomeModule,
    // BsDatepickerModule,
    // SortablejsModule,
    // DragDropModule,
    NgSelectModule,
    TooltipsModule,
    DropdownsModule,
    LoadingIndicatorModule,
    SchematerModule,
    SchematerComponentsModule,
    SchematerFilterBarModule,

    IkonkiModule,
    FormularzeModule,
    PokazUkryjModule,
    // pages
    BlankPageComponent,
    PageEmptyRouterOutletComponent,

    // components
    DropdownComponent,
    StickyDirective,
    ClickStopPropagationDirective,

    DostosowanieSharedModule,
    ListyModule,
    ContainerResizeObserverModule,
  ],
  // providers: [
  //   {
  //     provide: NG_SELECT_DEFAULT_CONFIG,
  //     useValue: {
  //       placeholder: '',
  //       notFoundText: 'Nic nie znalazłem',
  //       typeToSearchText: 'Wpisz by wyszukać',
  //       addTagText: 'Dodaj tag',
  //       loadingText: 'Wgrywam',
  //       clearAllText: 'Wyczyść wszystko',
  //     }
  //   }
  // ]
})
export class SharedModule {
}

EDIT:

我注意到此导入导致找不到 @NgModule 注释错误:LoadingIndicatorModule.forRoot({}),我不明白为什么。 这是源代码LoadingIndicatorModule

import {ModuleWithProviders, NgModule} from '@angular/core';
import {LoadingOverlayDirective} from './loading-overlay.directive';
import {LoadingBarDirective} from './loading-bar.directive';
import {LukanaLoadingModuleConfig} from './models/lukana-loading-module-config';
import {CONFIG} from './configToken';

@NgModule({
  imports: [],
  declarations: [LoadingOverlayDirective, LoadingBarDirective],
  exports: [LoadingOverlayDirective, LoadingBarDirective]
})
export class LoadingIndicatorModule {
  static forRoot(config?: LukanaLoadingModuleConfig): ModuleWithProviders<any> {
    // console.log(config);
    return {
      ngModule: LoadingIndicatorModule,
      providers: [
        {
          provide: CONFIG,
          useValue: config
        },
      ]
    };
  }
}


如果您正在升级 Angular,请尝试运行 ngcc。您可以将 ngcc 添加为 package.json 中的 postinstall 并运行它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“似乎不是 NgModule 类。”更新到 Angular@15 后出错 的相关文章

随机推荐

  • 后台工作者 while 循环

    我想要创建的是一个后台工作者 每 30 秒执行几个进程 但我希望只要程序启动就执行这个 while 循环 这是我正在使用的 private void watcherprocess1 backgroundWorker1 RunWorkerAs
  • python 中的 crontab

    我正在用 python 为某种守护进程编写代码 该守护进程必须在由 crontab 字符串定义的特定时间实例执行特定操作 有我可以使用的模块吗 如果没有 有人可以粘贴 链接一个算法 我可以用它来检查 crontab 定义的时间实例是否在上次
  • 相对于 DBUnit 数据集中当前的日期

    我想知道是否有任何方法可以指定例如明天作为 DBUnit XML 数据集中的日期 有时 未来日期和过去日期的代码逻辑是不同的 我想测试这两种情况 当然 我可以指定 2239 年 11 月 5 日之类的日期 并确保测试在此日期之前有效 但是否
  • 当遵守里氏替换原则(LSP)时,子类可以实现额外的接口吗?

    考虑这个红宝石示例 class Animal def walk In our universe all animals walk even whales puts walking end def run Implementing to co
  • 从 mysql 查询创建数组。 Column2 作为键 Column 1 作为值

    我有一张表 其中包含 column 1 state column 2 link Alabama auburn alabama com Alabama bham alabama com Alabama dothan alabama com 我
  • 如何发送带有查询字符串作为查询字符串的 URL

    我正在执行从一个页面到另一个页面的重定向 以及从第二页面到第三页面的另一个重定向 我有来自第一页的信息 该信息未在第二页上使用 但必须转移到第三页 是否可以将第三页的 URL 及其查询字符串作为查询字符串发送到第二页 这是一个例子 Resp
  • Android 进度条未更新

    我在更新进度条时遇到问题 我正在单独的线程中更新进度条 并在另一个线程中更新进度条进度所依赖的变量 这是一个类变量 因此 进度对话框显示但始终为 0 不更新进度 请帮帮我 public void setProgressbar progres
  • 何时在模块方法中使用 self

    我的模块定义如下所示 module RG Stats def self sum a args a inject 0 accum i accum i end end 要使用此方法 我只需要包含此定义的文件 以便我可以执行以下操作 RG Sta
  • 从 CMake 文件执行 bash 命令

    我无法理解 CMake 我想要做的是在构建过程中执行以下 bash 命令 date F T gt timestamp 这会获取当前日期并将其写入文件 但是 我似乎无法使用 CMake 命令重现这个简单的操作 以下是我尝试过的一些事情 exe
  • 为什么默认参数后面允许有参数包?

    也许我遗漏了一些明显的东西 但是以下编译并运行 我不确定为什么 我知道this https stackoverflow com questions 27303283 clang vs gcc variadic template parame
  • 使用 Java 8 按属性对自定义对象列表进行分组

    我正在学习 lambda 的许多新功能 并想知道如何根据某些属性作为键按自定义对象列表进行分组 例如 我在 json 中有这样的对象列表 account checking source BOA account checking source
  • 是否有必要将“passHref”传递给具有 Semantic UI React 作为其子组件的 NextJS

    我一直在阅读 nextjs 文档 它说here https nextjs org docs api reference next link if the child is a function component that 如果孩子Link
  • 使用 AppCompat ActionBarActivity 更改状态栏颜色

    在我的一项活动中 我使用更改了工具栏颜色Palette 但在 5 0 设备上使用ActionBarActivity the status bar颜色是我的颜色colorPrimaryDark在我的活动主题中 所以我有两种截然不同的颜色 但看
  • 如何在Xcode lldb中打印超过256个数组元素?

    当我使用p or print它只会打印前 256 个元素 我怎样才能打印所有这些 您可以告诉 lldb 强制打印特定表达式求值的所有数组元素 lldb expr A array variable 您还可以通过运行以下命令来提高默认打印的最大
  • 如何在自组织图中关联回原始数据点

    我正在使用 R kohonen 包来实现 SOM 我发现将自组织映射产生的代码向量与原始数据点相关联时遇到麻烦 我尝试在训练过程中包含没有权重的标签 但结果令人难以理解 有没有办法在训练过程完成后从每个节点引用原始数据点 您将从中获得中心值
  • C 中的有符号除法

    我正在阅读书中有关 C 可移植性的部分C Traps and Pitfalls安德鲁 科尼格 关于整数除法 q a b r a b 如果a是负数 显然是提醒r可以是负数或正数 同时满足属性 q b r a 通常我会期望r如果股息为负a是负数
  • iOS:位置服务列表中缺少应用程序

    我的应用程序使用 iPhone 的 GPS 功能 之前运行良好 因为它提示用户允许使用位置服务 并且它显示在 设置 gt 位置服务 列表下 我从应用程序商店卸载并重新下载了该应用程序 但它们都不再起作用 该应用程序是同一版本 并且已经有一段
  • Flutter 中的 Sqlite,数据库资产如何工作

    我正在看这个 https github com tekartik sqflite blob master doc opening asset db md https github com tekartik sqflite blob mast
  • 更改 UIAlertView 的背景颜色?

    我想更改 UIAlertView 的背景颜色 但这似乎没有颜色属性 AlertView的背景是一张图片 你可以改变这个图像 UIAlertView theAlert UIAlertView alloc initWithTitle Atent
  • “似乎不是 NgModule 类。”更新到 Angular@15 后出错

    我正在尝试从以下位置更新Angular 13 to Angular 15 这样做之后 我收到了我完全不明白的编译错误 SharedModule does not appear to be an NgModule class src app