[英]Angular error NG6002: Appears in the NgModule.imports of AppModule, but could not be resolved to an NgModule class
[英]error NG6002: Appears in the NgModule.imports of <module>, but could not be resolved to an NgModule class
我剛剛從 Angular 8.2 更新到 9。
如果我禁用常春藤,一切都會很好,但是當它啟用時,我會遇到很多似乎有點模糊的錯誤,至少我在谷歌搜索時找不到任何結果。
我很確定我已經完成了更新所需的一切,即將延遲加載更改為使用動態導入和固定 Angular Material 導入路徑等。
我還將在此處包含我的package.json依賴項
"dependencies": {
"@angular/animations": "^9.0.0",
"@angular/cdk": "^9.0.0",
"@angular/common": "^9.0.0",
"@angular/compiler": "^9.0.0",
"@angular/core": "^9.0.0",
"@angular/fire": "^5.4.2",
"@angular/flex-layout": "^9.0.0-beta.29",
"@angular/forms": "^9.0.0",
"@angular/http": "^7.2.15",
"@angular/material": "^9.0.0",
"@angular/material-moment-adapter": "^8.2.2",
"@angular/platform-browser": "^9.0.0",
"@angular/platform-browser-dynamic": "^9.0.0",
"@angular/platform-server": "^9.0.0",
"@angular/router": "^9.0.0",
"@ngrx/effects": "^8.3.0",
"@ngrx/entity": "^8.3.0",
"@ngrx/router-store": "^8.3.0",
"@ngrx/store": "^8.3.0",
"@zxing/ngx-scanner": "^2.0.1",
"angular-resizable-element": "^3.2.4",
"angular-resize-event": "^1.1.1",
"angular2-highcharts": "^0.5.5",
"core-js": "^3.6.4",
"detect-browser": "^4.7.0",
"firebase": "^7.8.0",
"google-polyline": "^1.0.3",
"hammerjs": "^2.0.8",
"highcharts": "^8.0.0",
"i18n-iso-countries": "^4.3.1",
"leaflet": "^1.5.1",
"mapbox-gl": "^1.4.0",
"moment": "^2.24.0",
"moment-timezone": "^0.5.26",
"ng-pick-datetime": "^6.0.7",
"ngrx-store-freeze": "^0.2.3",
"ngx-cacheable": "^1.3.2",
"ngx-cookie-service": "^2.2.0",
"ngx-csv": "^0.3.1",
"ngx-file-drop": "^8.0.8",
"ngx-infinite-scroll": "^0.8.4",
"papaparse": "^5.0.2",
"request": "^2.87.0",
"request-promise": "^4.2.2",
"rxjs": "^6.5.4",
"rxjs-compat": "^6.3.3",
"typescript-string-operations": "^1.3.1",
"web-animations-js": "^2.3.2",
"zone.js": "^0.10.2"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.900.1",
"@angular/cli": "^9.0.0",
"@angular/compiler-cli": "^9.0.0",
"@angular/language-service": "^9.0.0",
"@ngrx/store-devtools": "^8.3.0",
"@types/body-parser": "^1.17.0",
"@types/cors": "^2.8.4",
"@types/detect-browser": "^4.0.0",
"@types/express": "^4.11.1",
"@types/firebase": "^3.2.1",
"@types/helmet": "0.0.37",
"@types/jasmine": "^3.5.4",
"@types/jasminewd2": "~2.0.3",
"@types/leaflet": "^1.2.7",
"@types/lodash": "^4.14.109",
"@types/node": "^13.7.1",
"@types/request": "^2.47.0",
"@types/request-promise": "^4.1.41",
"codelyzer": "^5.2.1",
"concurrently": "^3.5.1",
"del-cli": "^1.1.0",
"jasmine-core": "^3.5.0",
"jasmine-spec-reporter": "^4.2.1",
"karma": "^4.4.1",
"karma-chrome-launcher": "^3.1.0",
"karma-cli": "^2.0.0",
"karma-coverage-istanbul-reporter": "~1.4.2",
"karma-jasmine": "^3.1.1",
"karma-jasmine-html-reporter": "^1.5.2",
"protractor": "^5.4.3",
"puppeteer": "^2.0.0",
"rxjs-tslint": "^0.1.7",
"ts-node": "~5.0.1",
"tslint": "^6.0.0",
"typescript": "3.6.4",
"webpack": "^4.41.6"
},
"peerDependencies": {
"typescript": "3.6.4",
"tslib": "1.10.0"
},
我得到的錯誤本身是:
我已經清除了我的node_modules和package-lock.json並再次運行npm install
編輯:也許同樣重要的是要注意它正在使用ng serve
編譯和運行,但是當我嘗試構建它或使用 AOT ng serve -aot
運行時,我得到了錯誤。
我通過刪除 node_modules 文件夾來解決這個問題,然后運行npm install
。
我通過在項目的根目錄上執行這個命令來解決這個問題:
npx ngcc && ngcc -s dist
在我的 Angular 項目 (ng-version="10.1.6") 中安裝ngx-print
( https://www.npmjs.com/package/ngx-print ) 后出現以下錯誤 -
: 編譯成功。
node_modules/ngx-print/lib/ngx-print.module.d.ts:1:22 中的錯誤 - 錯誤 NG6002:出現在 AppModule 的 NgModule.imports 中,但無法解析為 NgModule 類。
這可能意味着聲明 NgxPrintModule 的庫 (ngx-print) 沒有被 ngcc 正確處理,或者與 Angular Ivy 不兼容。 檢查是否有更新版本的庫可用,如果有則更新。 還可以考慮與庫的作者核對以查看該庫是否與 Ivy 兼容。
1 導出聲明類 NgxPrintModule {
解決方案 -我通過刪除node_modules
文件夾和package-lock.json
解決這個問題,然后運行npm install
。
我一直在尋找這個問題的答案,因為我對尋找沒有幫助的答案感到沮喪,而我在互聯網上放棄了我試圖查看構建(庫)的 dist 文件夾以及發生了什么變化,首先要注意的是添加了 ive_ngcc_ 文件夾,這意味着即使我在我的庫項目中設置了 enable ivy : false ,它仍在將構建處理為 ivy 而不是常規。 有時它發生在 Angular 版本 9 中
修復步驟:
關鍵帶走該錯誤具有誤導性,因為可能存在許多可能引發相同錯誤的問題,我的用例是使用為我們的項目創建的自定義庫。 希望這可以幫助一些開發人員並節省他們的時間! 快樂編碼!
環境詳細信息:Win OS 10 npm:6.14.3 節點:14.17.2 angular:: 9.1.3
錯誤:projects/paidia/src/app/shared/modules/shared.module.ts:141:14 - 錯誤NG6002:出現在TournamentModule的NgModule.imports中,但本身有錯誤
141 導出類 SharedModule { ~~~~~~~~~~~~
錯誤:projects/paidia/src/app/shared/modules/shared.module.ts:141:14 - 錯誤NG6002:出現在VideosModule的NgModule.imports中,但本身有
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.