You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ngx-scorm-wrapper不支持NgModule,Angular项目引入报错求助

解决Angular集成ngx-scorm-wrapper的编译错误

核心错误修正

你当前的代码存在基础使用错误:ScormWrapperService是服务类,并非NgModule,不能添加到@NgModule的imports数组中。

修正后的AppModule代码如下:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { ScormWrapperService } from 'ngx-scorm-wrapper';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
  ],
  providers: [ScormWrapperService], // 将服务移至providers数组
  bootstrap: [AppComponent]
})
export class AppModule { }

若你使用的是Angular 14及以上版本,更推荐依赖服务的providedIn: 'root'配置(若库本身未配置,可自行修改服务类),这样无需在AppModule的providers中声明:

@Injectable({
  providedIn: 'root'
})
export class ScormWrapperService { /* 服务原有逻辑 */ }

处理Ivy兼容问题

修正上述错误后,若仍出现Ivy相关报错,可按以下步骤操作:

  • 正确配置ngcc脚本:你之前将postinstall加到package-lock.json是错误的,需将其添加至package.json的scripts区块:

    {
      "scripts": {
        "postinstall": "ngcc --properties es2020 browser module main --first-only --create-ivy-entry-points"
      }
    }
    

    执行npm install触发ngcc编译生成兼容Ivy的库文件。

  • 检查库版本兼容性:确认ngx-scorm-wrapper的最新版本是否支持当前Angular版本,若不兼容,尝试安装库的最新版本:

    npm install ngx-scorm-wrapper@latest
    
  • 临时禁用Ivy(兜底方案,不推荐):若上述方法均无效,可在tsconfig.json中临时禁用Ivy:

    {
      "angularCompilerOptions": {
        "enableIvy": false
      }
    }
    

内容的提问来源于stack exchange,提问作者ODINN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 03:42:44