user2094257
user2094257

Reputation: 1715

Nativescript/angular2: no provider for applicationRef! error after deployment

i'm trying to run a very simple nativescript/angular2 app, it seems to build fine but after the app gets deployed to the android (genymotion) emulator I get the following error message. So it seems like angular isn't bootstrapped??? not sure at all why this is... Any idea what i'm doing wrong?

error message:

"@angular/core": "2.1.2",
"@angular/forms": "2.1.2",
    "@angular/http": "2.1.2",
    "@angular/platform-browseBUILD SUCCESSFUL

Total time: 1 mins 39.836 secs
Project successfully built
Successfully deployed on device with identifier '192.168.8.101:5555'.
JS: ns-renderer: ERROR BOOTSTRAPPING ANGULAR
JS: ns-renderer: No provider for ApplicationRef!
JS:
JS: Error: No provider for ApplicationRef!
JS:     at NoProviderError.Error (native)
JS:     at NoProviderError.BaseError [as constructor] (/data/data/org.nativescript.barcodescanner/files/app/tns_modules/@angular/core/bundles/core.umd.js:1104:38)
JS:     at NoProviderError.AbstractProviderError [as constructor] (/data/data/org.nativescript.barcodescanner/files/app/tns_modules/@angular/core/bundles/core.umd.js:1235:20)
JS:     at new NoProviderError (/data/data/org.nativescript.barcodescanner/files/app/tns_modules/@angular/core/bundles/core.umd.js:1266:20)
JS:     at ReflectiveInjector_._throwOrNull (/data/data/org.nativescript.barcodescanner/files/app/tns_modules/@angular/core/bundles/core.umd.js:2906:23)
JS:     at ReflectiveInjector_._getByKeyDefault (/data/data/org.nativescript.barcodescanner/files/app/tns_modules/@angular/core/bundles/core.umd.js:2934:29)
JS:     at ReflectiveInjector_._getByKey (/data/data/org.nativescript.barcodescanner/files/app/tns_modules/@angular/core/bundles/core.umd.js:2897:29)
JS:     at ReflectiveInjector_.get (/data/data/org.nativescript.barcodescanner/files/app/tns_modules/@angular/core/bundles/core.umd.js:2706:25)
JS:     at NgModuleInjector.Object.defineProperty.get (/AppModule/module.ngfactory.js:58:87)
JS:     at NgModuleInjector.AppModuleInjector.createInternal (/AppModule/module.ngfactory.js:83:60)

My main.ts file if that helps:

import { platformNativeScriptDynamic } from "nativescript-angular/platform";


import { AppModule } from "./app.module";



platformNativeScriptDynamic().bootstrapModule(AppModule);

and my app.module.ts:

import { NgModule } from "@angular/core";
import { NativeScriptFormsModule } from "nativescript-angular/forms";
import { NativeScriptModule } from "nativescript-angular/platform";
import { NativeScriptRouterModule } from "nativescript-angular/router";

import { AppComponent } from "./app.component";
import {routes, navigatableComponents } from "./app.routing";

@NgModule({
    imports : [(
    NativeScriptModule, NativeScriptFormsModule, NativeScriptRouterModule, NativeScriptRouterModule.forRoot(routes)
    )],
    declarations : [AppComponent, ...navigatableComponents
    ],
    bootstrap : [AppComponent]      
})
export class AppModule {}

Upvotes: 5

Views: 8796

Answers (2)

AliS
AliS

Reputation: 735

Importing the BrowserModule into app.module did it for me...

import { BrowserModule } from '@angular/platform-browser';

Upvotes: 23

Habib Kazemi
Habib Kazemi

Reputation: 2190

remove the parenthesis from your imports in ngModule,it should be an array of modules. like this:

@NgModule({
    imports : [
    NativeScriptModule, NativeScriptFormsModule,    NativeScriptRouterModule, NativeScriptRouterModule.forRoot(routes)
    ],
    declarations : [AppComponent, ...navigatableComponents ],
    bootstrap : [AppComponent]      
})

Upvotes: 0

Related Questions