0
私は学校でプロジェクトに取り組んでいます。私はHttpFactory基本を作成し、app.module.tsでプロバイダにこれを追加しましたが、私はNGビルドを実行しているとき、私はこのエラーを得た:プロバイダに工場を追加するときにビルドエラーが発生する
のERRORは、プロパティを読み取ることができませんで「提供」未定義
ありがとうございました。
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 "./factories/httpfactory.factory" から。 :/ – Exelion
Okz ...独自の工場を作る場合は、ファクトリインターフェイスを実装していることを確認して、エラーを排除するのに役立ちます。 工場のソースコードを添付すれば、何が間違っているのかを見るのがはるかに簡単になるでしょう... –
実際に私は「Window」プロバイダーでした。私はビジュアルスタジオプロジェクトに取り組んでいました。 cliでコンパイルされたプロジェクトで、私はそれを削除しなければならなかった(私はまだそれを置き換えなかった)。ありがとう。 – Exelion