如何解决ngModuleType.ngModuleDef.id 未定义 - 导入 NguCarousel 模块时的 Angular 8 问题
当我尝试导入 NguCarousel 模块时,我的应用程序中断,因为 ngModuleType.ngModuleDef
未定义。如果我注释掉 NguCarousel 模块的导入,应用程序就可以正常工作。
我试过更改包的版本,但没有运气。目前我安装了 v1.5.5 和 Angular 8。
知道为什么这个模块缺少这个属性吗?
js 错误:
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
命令卸载它然后重新安装正确的版本。这是我遇到错误时的情况。
解决我的问题
- 关闭 vs 代码
- 转到文件资源管理器上的项目路径
- 删除
node_modules
文件夹 - 再次在 vs code 上打开项目
- 运行命令
npm i
节点包管理器将为您重新安装具有正确版本的所有包,这应该可以解决问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。