2016-09-19 14 views
15
ben bu hatalarla mücadele ediyorum 14.

Eğik 2.0.0 Metadata_resolver garip davranışlar

açısal cli beta ile açısal 2 2.0.0 için angular-webpack iskele ile angular2 RC5 benim app göç ediyorum

:

Uncaught Error: Can't resolve all parameters for PublicInfoDao: (?, ?).CompileMetadataResolver.getDependenciesMetadata @ metadata_resolver.js:508CompileMetadataResolver.getTypeMetadata @ metadata_resolver.js:405(anonymous function) @ metadata_resolver.js:552CompileMetadataResolver.getProvidersMetadata @ metadata_resolver.js:532CompileMetadataResolver.getNgModuleMetadata @ metadata_resolver.js:285RuntimeCompiler._compileComponents @ runtime_compiler.js:126RuntimeCompiler._compileModuleAndComponents @ runtime_compiler.js:64RuntimeCompiler.compileModuleAsync @ runtime_compiler.js:55PlatformRef_._bootstrapModuleWithZone @ application_ref.js:303PlatformRef_.bootstrapModule @ application_ref.js:285(anonymous function) @ main.ts:13__webpack_require__ @ bootstrap db3609d…:52(anonymous function) @ .*$:7__webpack_require__ @ bootstrap db3609d…:52webpackJsonpCallback @ bootstrap db3609d…:23(anonymous function) @ main.bundle.js:1

ve

metadata_resolver.js:278Uncaught Error: Unexpected value 'AppComponent' declared by the module 'AppModule'(anonymous function) @ metadata_resolver.js:278CompileMetadataResolver.getNgModuleMetadata @ metadata_resolver.js:265RuntimeCompiler._compileComponents @ runtime_compiler.js:126RuntimeCompiler._compileModuleAndComponents @ runtime_compiler.js:64RuntimeCompiler.compileModuleAsync @ runtime_compiler.js:55PlatformRef_._bootstrapModuleWithZone @ application_ref.js:303PlatformRef_.bootstrapModule @ application_ref.js:285(anonymous function) @ main.ts:13__webpack_require__ @ bootstrap db3609d…:52(anonymous function) @ .*$:7__webpack_require__ @ bootstrap db3609d…:52webpackJsonpCallback @ bootstrap db3609d…:23(anonymous function) @ main.bundle.js:1 1 : https://github.com/preboot/angular2-webpack

birkaç bileşenler uygulama çalışmalarını kaldırırsanız tuhaf bir davranış nedeni var

. Ancak,

Bir basit bileşen eklerseniz, ikinci hata atılır. @Input() yorum yaparsam uygulama çalışır. Uygulamada aynı hatayı atarken rahatsız edersem bazı servisler vardır ve bazı satırları yorumlarsam hatayı reddeder.

Bu hatalardan deliriyorum. Dış bir konu olmalı diye düşünüyorum.

Herhangi bir fikrin var mı?

Güncelleme:

birinci hata https://github.com/AngularClass/angular2-webpack-starter#frequently-asked-questions (ikinci soruya) ile ilgili olabilir Ben 2.0.0 açısal finale taşımak için birçok sorun var.

Update2:

@NgModule({ 
    providers: [ 
    MetaService, 
    Title, 
    HttpInterceptor, 
    {provide: ConnectionBackend, useClass: XHRBackend}, 
    {provide: Http, useExisting: HttpInterceptor}, 
    {provide: Configuration, useClass: ConfigurationDevelopment} 
    ], 
    imports: [ 
    BrowserModule, 
    HttpModule, 
    FormsModule, 
    ReactiveFormsModule, 
    // APP_ROUTER_PROVIDERS 
    ], 
    declarations: [ 
    AppComponent, 
    ResultItemComponent, 

    TimestampToMomentPipe, 
    TimestampToTimePipe 
    ], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { 
} 

Update3: açısal cli başarısız kodunun başka bir örneği.

Bu kodu düzgün çalışır:

this.publicService.all().subcribe(response => { 
     console.log(response); 
}); 

Bu kod başarısız:

this.publicService.all().subcribe(response => { 
     deserialize(response) 
}); 

İstisna Yukarıda açıklandığı:

Uncaught Error: Can't resolve all parameters for PublicInfoDao: (?, ?).

¿¿?? Eğer dairesel içine çalışabilir bu durumda

export * from 'some-file'; 
export * from 'another-file'; 

:

+0

Bu sorunu yeniden üreten bir github repo'unuz var mı? – yurzui

+0

Hayır, ancak sorunun açısal kısayla ilgili olduğunu doğrulayabilirim. Ben eski iskele ve köşeli 2.0.0 iyi çalışıyor. Yani açısal kısrak ile ne olur? – Serginho

+0

app.module dosyanızı paylaşabilir misiniz? –

cevap

1

environment.ts

// Angular 2 
// rc2 workaround 
import { enableDebugTools, disableDebugTools } from '@angular/platform-browser'; 
import { enableProdMode, ApplicationRef } from '@angular/core'; 
// Environment Providers 
let PROVIDERS: any[] = [ 
    // common env directives 
]; 

// Angular debug tools in the dev console 
// https://github.com/angular/angular/blob/86405345b781a9dc2438c0fbe3e9409245647019/TOOLS_JS.md 
let _decorateModuleRef = function identity<T>(value: T): T { return value; }; 

if ('production' === ENV) { 
    // Production 
    disableDebugTools(); 
    enableProdMode(); 

    PROVIDERS = [ 
    ...PROVIDERS, 
    // custom providers in production 
    ]; 

} else { 

    _decorateModuleRef = (modRef: any) => { 
    const appRef = modRef.injector.get(ApplicationRef); 
    const cmpRef = appRef.components[0]; 

    let _ng = (<any>window).ng; 
    enableDebugTools(cmpRef); 
    (<any>window).ng.probe = _ng.probe; 
    (<any>window).ng.coreTokens = _ng.coreTokens; 
    return modRef; 
    }; 

    // Development 
    PROVIDERS = [ 
    ...PROVIDERS, 
    // custom providers in development 
    ]; 

} 

export const decorateModuleRef = _decorateModuleRef; 

export const ENV_PROVIDERS = [ 
    ...PROVIDERS 
]; 

böyle

@NgModule({ 
    providers: [ 
// expose our Services and Providers into Angular"s dependency injection 
     ENV_PROVIDERS 
    ], 
    imports: [ 
    BrowserModule, 
    HttpModule, 
    FormsModule, 
    ReactiveFormsModule, 
    // APP_ROUTER_PROVIDERS 
    ], 
    declarations: [ 
    AppComponent, 
    ResultItemComponent, 

    TimestampToMomentPipe, 
    TimestampToTimePipe 
    ], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { 
} 
+0

'dur. Tamam, çevre özellikleri iyidir, ancak sorunun cevabı değildir. – Serginho

1

belki kullandığınız ihracat varil app.module.ts Bağımlılıklar, kaynak kodunu kendi başınıza almanıza rağmen, herhangi bir dairesel bağımlılığa sahip değildir. Bazen hata mesajı

Cannot resolve all parameters (some,thing,?)

bir döngüsel bağımlılığı olduğunu gösterir.

Sen index.ts-dosyalarında birlikte ihracata varil kullanmadan, doğrudan gerekli dosyayı belirterek bileşenleri ithal deneyebilirsiniz

Eğer bu sözde soru bakmak isteyebilirsiniz

:

Barrel Import Appears To Break Load Order


... sorunuzu aslında bu bir :-) kopyası olabilir

Angular 2 DI Error - EXCEPTION: Can't resolve all parameters

+0

Soru şu ki ... neden açısal-webpack scaffold'u açısal 2.0.0 ile çalıştırıyor ve açısal-cli üzerinde çalıştırıyorsam başarısız oluyor? Kodumda "export *" araması yaptım: 0 sonuç. Her neyse, bana hatayı açıkladığın ve bana bilgi verdiğin için teşekkürler. – Serginho

+0

[wild-guessing: açık] belki iki süreç ihracat ve ithalatı farklı şekilde ele alıyor olabilir mi? Bu yeni WebDev-Tools'la ilgili tamamlayıcı bir şekilde çalışmayı ve çalışma zamanını tamamen kaybettim [wild-guessing: off] –

+0

Yukarıdaki update3'e bakın. @ Tobias-Grassmann – Serginho