簡體   English   中英

Angular 5 NullInjectorError:n 沒有提供者

[英]Angular 5 NullInjectorError: No provider for n

當我使用ng serve啟動我的網站時,一切正常,但每次嘗試啟動產品時都會收到錯誤NullInjectorError: No provider for n 我檢查了我編寫的所有服務都包含在 NgModule 提供程序中。 因為這是制作,所有文件都被縮小和丑化,所以我不知道究竟是什么原因導致了問題。 有什么方法可以檢查它或者可以從錯誤詳細信息中獲取?

ERROR Error: StaticInjectorError(G)[n -> n]: 
StaticInjectorError(Platform: core)[n -> n]: 
NullInjectorError: No provider for n!
at n.get (main.94f42881e2fdceca85d7.bundle.js:1)
at main.94f42881e2fdceca85d7.bundle.js:1
at n (main.94f42881e2fdceca85d7.bundle.js:1)
at n.get (main.94f42881e2fdceca85d7.bundle.js:1)
at main.94f42881e2fdceca85d7.bundle.js:1
at n (main.94f42881e2fdceca85d7.bundle.js:1)
at n.get (main.94f42881e2fdceca85d7.bundle.js:1)
at Pi (main.94f42881e2fdceca85d7.bundle.js:1)
at main.94f42881e2fdceca85d7.bundle.js:1
at Li (main.94f42881e2fdceca85d7.bundle.js:1)

這可能是由於JIT (即時)和AOT (提前)編譯器的不同。 文檔中閱讀更多相關信息。

如果您運行ng serveng build ,它將默認使用JIT 但是使用--prod標志,使用AOT

嘗試運行ng serve --aotng serve --prod以查看更易於理解的錯誤消息。 由於這不再慢,我建議在開發過程中始終使用--aot標志。 你會更早地看到問題。

我遇到了同樣的問題,對我有用的是將 HttpClientModule 添加到應用程序根模塊中的導入。 導致錯誤的原因是我在另一個模塊中導入。

// app.module.ts
import { HttpClienteModule } from '@angular/common/http';

@NgModule({
imports: [HttpClienteModule]
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM