私はこれまでの多くの質問でこのエラーを見たことがありますが、最新のバージョン4.0.2にアップグレードした直後にこのケースに関係するものはありません。それは円形のDIではなく、ポリーフィルとは関連していないようです。エラー:XXXのすべてのパラメータを解決できません:(?) Angular 4.0.2
私はSystemJS
とjspm
(ウェブパックではありません)を使用しています。おそらくjspm
は問題に関連していますが、どうやって解決できないのでしょうか。私はアプリを起動すると
import { NgModule, Component } from '@angular/core';
import { HttpModule, Http } from '@angular/http';
import { BrowserModule } from '@angular/platform-browser';
@Component({
selector: 'app-home',
template: `<h2>Hola</h2>`
})
export class HomeComponent {
constructor(private http : Http) {
}
}
@NgModule({
imports: [
BrowserModule, HttpModule
],
declarations: [
HomeComponent
],
bootstrap: [ HomeComponent ],
entryComponents: [ ],
providers: [
]
})
export class AppModule2 { }
は(クローム57を使用して)エラーは次のとおりです、非常に簡単です
import 'core-js/es7/reflect';
import 'zone.js/dist/zone';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule2 } from './app/app.module2';
platformBrowserDynamic().bootstrapModule(AppModule2);
私のモジュール、app.module2.ts
:
アプリのエントリポイントはmain.tsです。
Error: Can't resolve all parameters for HomeComponent: (?).
Evaluating http://localhost:3000/src/main.ts
Loading myapp
at syntaxError (http://localhost:3000/jspm_packages/npm/@angular/[email protected]/bundles/compiler.umd.js:1513:34) [<root>]
at CompileMetadataResolver._getDependenciesMetadata (http://localhost:3000/jspm_packages/npm/@angular/[email protected]/bundles/compiler.umd.js:14363:35) [<root>]
at CompileMetadataResolver._getTypeMetadata (http://localhost:3000/jspm_packages/npm/@angular/[email protected]/bundles/compiler.umd.js:14231:26) [<root>]
at CompileMetadataResolver.getNonNormalizedDirectiveMetadata (http://localhost:3000/jspm_packages/npm/@angular/[email protected]/bundles/compiler.umd.js:13840:24) [<root>]
at CompileMetadataResolver._getEntryComponentMetadata (http://localhost:3000/jspm_packages/npm/@angular/[email protected]/bundles/compiler.umd.js:14484:45) [<root>]
at eval (http://localhost:3000/jspm_packages/npm/@angular/[email protected]/bundles/compiler.umd.js:14067:108) [<root>]
at Array.map (native) [<root>]
at CompileMetadataResolver.getNgModuleMetadata (http://localhost:3000/jspm_packages/npm/@angular/[email protected]/bundles/compiler.umd.js:14067:73) [<root>]
at JitCompiler._loadModules (http://localhost:3000/jspm_packages/npm/@angular/[email protected]/bundles/compiler.umd.js:25144:64) [<root>]
at JitCompiler._compileModuleAndComponents (http://localhost:3000/jspm_packages/npm/@angular/[email protected]/bundles/compiler.umd.js:25103:52) [<root>]
at JitCompiler.compileModuleAsync (http://localhost:3000/jspm_packages/npm/@angular/[email protected]/bundles/compiler.umd.js:25065:21) [<root>]
at PlatformRef_._bootstrapModuleWithZone (http://localhost:3000/jspm_packages/npm/@angular/[email protected]/bundles/core.umd.js:4793:25) [<root>]
at PlatformRef_.bootstrapModule (http://localhost:3000/jspm_packages/npm/@angular/[email protected]/bundles/core.umd.js:4779:21) [<root>]
at Object.execute (http://localhost:3000/src/main.ts!transpiled:19:65) [<root>]
私はHomeComponent
トンにHttp
の注入を削除した場合彼はアプリの読み込みに成功しました。多くのテストの後
マイtsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [ "es2015", "dom" ],
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true
}
}
@Injectable()デコレータがないためですか?ソース:https://gist.github.com/gsans/d020de5f0fbe56a22c824e1158ba7ec8#file-mycomponent-ts – floor
@floor問題は角度サービスで、このコードに '@Injectable()'を追加する必要がありますか? – Roberto
try: '@ angular/common'の{CommonModule、Injectable}をインポートします。ホームコンポーネントのエクスポートの上に@Injectable()をドロップします。 – floor