Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 在提供程序中添加工厂时发生ng生成错误_Angular_Http_Build_Factory_Angular Http - Fatal编程技术网

Angular 在提供程序中添加工厂时发生ng生成错误

Angular 在提供程序中添加工厂时发生ng生成错误,angular,http,build,factory,angular-http,Angular,Http,Build,Factory,Angular Http,我在学校做一个项目。我创建了一个基本的HttpFactory,并将其添加到app.module.ts中的提供程序中,但在运行ng build时,出现以下错误: 无法读取未定义的属性“提供”时出错 谢谢 导入app.module.ts、Http、HttpFactory、XHRBackend和RequestOptions中的代码: providers: [ AppSettings, ProductService, CommandService, BetService,

我在学校做一个项目。我创建了一个基本的HttpFactory,并将其添加到app.module.ts中的提供程序中,但在运行ng build时,出现以下错误:

无法读取未定义的属性“提供”时出错

谢谢

导入app.module.ts、Http、HttpFactory、XHRBackend和RequestOptions中的代码:

providers: [
    AppSettings,
    ProductService,
    CommandService,
    BetService,
    AccountService,
    MasterService,
    ProductCategoryService,
    MasterService,
    UserWalletService,
    TransactionService,
    Window,
    {
        provide: Http,
        useFactory: HttpFactory,
        deps: [XHRBackend, RequestOptions]
    }
],
bootstrap: [AppComponent]
package.json:

{
  "name": "web",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^4.2.3",
    "@angular/common": "^4.2.3",
    "@angular/compiler": "^4.2.3",
    "@angular/core": "^4.2.3",
    "@angular/forms": "^4.2.3",
    "@angular/http": "^4.2.3",
    "@angular/material": "^2.0.0-beta.7",
    "@angular/platform-browser": "^4.2.3",
    "@angular/platform-browser-dynamic": "^4.2.3",
    "@angular/router": "^4.2.3",
    "core-js": "^2.4.1",
    "rxjs": "^5.4.1",
    "systemjs": "^0.20.14",
    "zone.js": "^0.8.12"
  },
  "devDependencies": {
    "@angular/cli": "1.1.3",
    "@angular/compiler-cli": "^4.0.0",
    "@angular/language-service": "^4.0.0",
    "@types/jasmine": "2.5.45",
    "@types/node": "~6.0.60",
    "codelyzer": "~3.0.1",
    "jasmine-core": "~2.6.2",
    "jasmine-spec-reporter": "~4.1.0",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.1.1",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-node": "~3.0.4",
    "tslint": "~5.3.2",
    "typescript": "~2.3.3"
  }
}

我相信您拼错了
HttpFactory
。它是
httpFactory
,带有小写字母h。所以它不能读取未定义的属性

Window,
{
    provide: Http,
    useFactory: httpFactory,
    deps: [XHRBackend, RequestOptions]
}

我将其命名为HttpFactory,导入工作正常:从“/factories/HttpFactory.factory”导入{HttpFactory}:/好的。。。如果您正在创建自己的工厂,请确保实现了工厂接口,它将帮助您排除错误。如果附加factory源代码,就很容易看出哪里出了问题……事实上,我发现,这是“窗口”提供程序,我在处理visual studio项目之前,现在正在处理一个使用cli编译的项目,我必须删除它(我还没有替换它)。谢谢