微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决ngModuleType.ngModuleDef.id 未定义 - 导入 NguCarousel 模块时的 Angular 8 问题

当我尝试导入 NguCarousel 模块时,我的应用程序中断,因为 ngModuleType.ngModuleDef 未定义。如果我注释掉 NguCarousel 模块的导入,应用程序就可以正常工作。 我试过更改包的版本,但没有运气。目前我安装了 v1.5.5 和 Angular 8。

知道为什么这个模块缺少这个属性吗?

js 错误

enter image description here

package.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"
  }
}

app.module.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 { }

解决方法

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

解决我的问题

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。