angular - 错误 : No provider for t

标签 angular angular5

我正在尝试通过 ng build --prod 将我的 Angular 代码编译为生产模式,它成功了,但在浏览器中我得到了错误:

ERROR p {__zone_symbol__error: Error: Uncaught (in promise): Error: NullInjectorError: No provider for t!

错误:NullInjectorError:...,...

当我只运行 ng build 时,html 工作正常。

我尝试了 git hub 上提到的几个链接:

https://github.com/angular/angular/issues/19219 https://github.com/angular/angular-cli/issues/6851

帮助不大。

附上我的 Package.json 文件内容:

{
  "name": "xxx",
  "version": "0.0.0",
  "license": "MIT",
  "angular-cli": {},
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "test": "ng test",
    "pree2e": "webdriver-manager update --standalone false --gecko false",
    "e2e": "protractor",
    "build": "ng build && node server.js",
    "dev": "ng build -w & nodemon server.js --watch dist --watch server",
    "production": "ng build --prod & node server.js dist server "
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~5.0.0",
    "@angular/common": "~5.0.0",
    "@angular/compiler": "~5.0.0",
    "@angular/compiler-cli": "~5.0.0",
    "@angular/core": "~5.0.0",
    "@angular/forms": "~5.0.0",
    "@angular/http": "~5.0.0",
    "@angular/platform-browser": "~5.0.0",
    "@angular/platform-browser-dynamic": "~5.0.0",
    "@angular/router": "~5.0.0",
    "@jaspero/ng2-alerts": "0.0.7",
    "axios": "^0.17.0",
    "body-parser": "^1.18.2",
    "cookie-parser": "^1.4.3",
    "core-js": "^2.4.1",
    "ethereumjs-tx": "^1.3.3",
    "express": "^4.16.2",
    "express-session": "^1.15.6",
    "mongoose": "^4.12.6",
    "rxjs": "^5.0.1",
    "ts-helpers": "^1.1.1",
    "web3": "^1.0.0-beta.24",
    "web3-provider-engine": "^13.3.3",
    "zone.js": "^0.7.2"
  },
  "devDependencies": {
    "@angular/cli": "^1.5.0",
    "@angular/compiler-cli": "1.5.0",
    "@types/jasmine": "2.5.38",
    "@types/node": "^6.0.42",
    "codelyzer": "~2.0.0-beta.1",
    "jasmine-core": "2.5.2",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "1.2.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-cli": "^1.0.1",
    "karma-jasmine": "^1.0.2",
    "karma-remap-istanbul": "^0.2.1",
    "protractor": "~4.0.13",
    "ts-node": "1.2.1",
    "tslint": "^4.3.0",
    "typescript": "2.4.2"
  }
}

还有 app.module.ts

import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {FormsModule} from '@angular/forms';
import {HttpClientModule} from '@angular/common/http';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {JasperoAlertsModule} from '@jaspero/ng2-alerts';
// Imports commented out for brevity
import {RouterModule} from '@angular/router';
// Components
import {AppComponent} from './app.component';
import {LoginComponent} from './component/login/login.component';
import {DashboardComponent} from './component/dashboard/dashboard.component';
// Services
import {RecordsService} from './services/records.service';
import {AccountService} from './services/account.service';
import {AuthenticateService} from './services/authenticate.service';
import {FooterComponent} from './component/footer/footer.component';
import {HeaderComponent} from './component/header/header.component';


// Define the routes
const ROUTES = [
  {
    path: '',
    redirectTo: 'login',
    pathMatch: 'full'
  },
  {
    path: 'login',
    component: LoginComponent
  },
  {
    path: 'dashboard',
    component: DashboardComponent
  }
];

@NgModule({
  declarations: [
    AppComponent,
    HeaderComponent,
    FooterComponent,
    LoginComponent,
    DashboardComponent
  ],
  imports: [
    BrowserModule,
    HttpClientModule,
    BrowserAnimationsModule,
    FormsModule,
    JasperoAlertsModule,
    RouterModule.forRoot(ROUTES) // Add routes to the app
  ],
  providers: [
    RecordsService,
    AccountService,
    AuthenticateService
  ],
  bootstrap: [AppComponent]
})
export class AppModule {
}

最佳答案

您正在尝试使用未在您的 AppModule 的 providers 中列出的服务。将服务添加到提供商列表以使其正常工作。

关于angular - 错误 : No provider for t,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47393162/

相关文章:

angular - 返回模拟 http 响应而不是 angular4 中的服务器调用

javascript - 如何在 Angular 6 中将 Material 日期选择器日期值格式化为 "MM-DD-YYY"格式?

javascript - 如何使用 ng2-translate 的翻译管道传递翻译 key 而不使用 .json 文件路径

javascript - 将 ngFor 列表中的按钮更改为文本字段以获取值,然后提交进行处理

angular - 从下拉列表中选择自定义选项后如何启用输入文本框?

angular - 单个页面中的多个 Mat-Paginator(Angular 5 数据表)

Angular5 http 最佳实践

angular - 在 angular2 cli 中哪里可以找到 systemjs.config.js

css - Angular2 [style.width] 绑定(bind)高 CPU 使用率

Angular 12 错误 '"ng2-charts "' has no exported member named ' ChartsModule'