ngModuleType.ngModuleDef.id 未定义 - 导入 NguCarousel 模块时出现 Angular 8 问题

roo*_*z11 3 npm angular-cli angular ngu-carousel

当我尝试导入 NguCarousel 模块时,我的应用程序因ngModuleType.ngModuleDef未定义而中断。如果我注释掉 NguCarousel 模块的导入,该应用程序可以正常工作。我尝试过更改软件包的版本,但没有成功。目前我已经随 Angular 8 安装了 v1.5.5。

有什么想法为什么这个模块缺少这个属性吗?

js错误: 在此输入图像描述

包.json

{
  "name": "webapi",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "build:ssr": "ng run WebApi:server:dev",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "8.2.12",
    "@angular/cdk": "^8.2.3",
    "@angular/common": "8.2.12",
    "@angular/compiler": "8.2.12",
    "@angular/core": "8.2.12",
    "@angular/forms": "8.2.12",
    "@angular/material": "^8.2.3",
    "@angular/platform-browser": "8.2.12",
    "@angular/platform-browser-dynamic": "8.2.12",
    "@angular/platform-server": "8.2.12",
    "@angular/router": "8.2.12",
    "@babel/compat-data": "^7.8.0",
    "@fortawesome/angular-fontawesome": "^0.5.0",
    "@fortawesome/fontawesome-svg-core": "^1.2.28",
    "@fortawesome/free-solid-svg-icons": "^5.13.0",
    "@ngu/carousel": "^1.5.5",
    "@nguniversal/module-map-ngfactory-loader": "8.1.1",
    "aspnet-prerendering": "^3.0.1",
    "bootstrap": "^4.4.1",
    "core-js": "^3.3.3",
    "echarts": "^4.9.0",
    "font-awesome": "^4.7.0",
    "hammerjs": "^2.0.8",
    "jquery": "^3.4.1",
    "ngx-echarts": "^5.1.2",
    "ngx-spinner": "^9.0.2",
    "oidc-client": "^1.9.1",
    "popper.js": "^1.16.1",
    "rxjs": "^6.5.3",
    "zone.js": "0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.803.24",
    "@angular/cli": "^8.3.14",
    "@angular/compiler-cli": "8.2.12",
    "@angular/language-service": "8.2.12",
    "@types/jasmine": "~3.4.4",
    "@types/jasminewd2": "~2.0.8",
    "@types/node": "~12.11.6",
    "codelyzer": "^5.2.0",
    "jasmine-core": "~3.5.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "^4.4.1",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~2.1.0",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.4.2",
    "typescript": "3.5.3"
  },
  "resolutions": {
    "@babel/preset-env": "7.5.5"
  },
  "optionalDependencies": {
    "node-sass": "^4.12.0",
    "protractor": "~5.4.2",
    "ts-node": "~8.4.1",
    "tslint": "~5.20.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

应用程序模块.ts

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AccountModule } from './account/account.module';
import { AccountRoutingModule } from './account/account.routing.module';
import { AppComponent } from './app.component';
import { AuthService } from './services/auth.service';
import { NguCarouselModule } from '@ngu/carousel';

@NgModule({
    declarations: [
        AppComponent,
        
    ],
    imports: [
        BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),
        NguCarouselModule,
        BrowserAnimationsModule,
        AccountModule,
        AccountRoutingModule,       
        RouterModule.forRoot([
            { path: 'unauthorized', component: UnauthorizedComponent },
            { path: '**', redirectTo: '' }
        ])
    ],
    providers: [
        AuthService,
    ],
    bootstrap: [AppComponent]
})
export class AppModule { }

Run Code Online (Sandbox Code Playgroud)

小智 8

我今天对于相同的角度版本(v8)遇到了相同的错误。这是由于安装了更高版本的角度材料(v12)引起的,当我注意到我忘记指定版本时,我使用npm uninstall命令卸载它,然后重新安装正确的版本。当我发生错误时。

我的问题的解决方案

  1. 关闭 VS 代码
  2. 转到文件资源管理器上的项目路径
  3. 删除node_modules文件夹
  4. 再次在 VS Code 上打开项目
  5. 运行命令npm i

节点包管理器将为您重新安装具有正确版本的所有包,这应该可以解决问题。

  • 您可以从 vs code 中删除node_modules,无需关闭它。 (2认同)