I'm having some problems getting my app to run after updating to RC6.
I changed my systemjs due to the official example from changelog.
But I still get compile errors like this one: "Module '"D:/Myproject/WebClient/node_modules/@angular/router/index"' has no exported member 'ROUTER_DIRECTIVES'."
It looks like the compiler takes the default index.js file instead the umd package... The compiling is done by gulp task with the following options:
"module": "system",
"moduleResolution": "node",
"target": "ES5",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"allowSyntheticDefaultImports": false
I get this errors for router module and forms module.
Router is V3.0.0-rc.2 and forms is V.2.0.0-rc6
Think it is more a problem that my systemJs is not read correctly anyhow.
SystemJS:
var map = {
'app': 'public/app',
'@angular/core': 'npm:@angular/core/bundles/core.umd.js',
'@angular/common': 'npm:@angular/common/bundles/common.umd.js',
'@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js',
'@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js',
'@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
'@angular/http': 'npm:@angular/http/bundles/http.umd.js',
'@angular/router': 'npm:@angular/router/bundles/router.umd.js',
'@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js',
'rxjs': 'npm:rxjs',
'symbol-observable': 'npm:symbol-observable',
'moment': 'npm:moment',
'ng2-charts': 'npm:ng2-charts',
'ng2-translate/ng2-translate': 'npm:ng2-translate',
'angular2-highcharts': 'npm:angular2-highcharts',
'highcharts/highstock.src': 'npm:highcharts',
'primeng': 'npm:primeng'
};
var packages = {
'app': { main: 'main', defaultExtension: 'js' },
'rxjs': { main: 'Rx.js', defaultExtension: 'js' },
'moment': { main: 'moment', defaultExtension: 'js', type: 'cjs'},
'symbol-observable': { main: 'index.js', defaultExtension: 'js' },
'ng2-charts': { main: 'ng2-charts', defaultExtension: 'js' },
'ng2-translate/ng2-translate': { main: 'ng2-translate', defaultExtension: 'js' },
'angular2-highcharts': { main: 'index', defaultExtension: 'js' },
'highcharts/highstock.src': { main: 'highstock.src', defaultExtension: 'js' },
'primeng': { defaultExtension: 'js' }s
};
System.config({
map: map,
packages: packages,
paths: {
// paths serve as alias
'npm:': 'node_modules/'
}
//format: 'register'
});
Aynbody any idea? Thanks in advance
As per new change in rc6 deprecated directives are removed and for default angular functionality ngModule is introduced in rc5 so you have to configure RouterModule from @angular/router as per Routing documentation to configure your routes and then you can use directives provided by RouterModule.
You have to remove ROUTER_DIRECTIVES, FORM_DIRECTIVES and CORE_DIRECTIVES from all your components. Instead, create modules for all components. Import BrowserModule in your AppModule and import FormModule for all Modules you need form directives for.
Further information can be found here: https://angular.io/docs/ts/latest/guide/architecture.html
An AppModule looks e.g. like the following:
import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {AppComponent} from './app.component';
// Other imports are removed
@NgModule({
imports: [BrowserModule, HttpModule, LoginModule, routing],
declarations: [AppComponent],
providers: [
Logger,
LOG_LOGGER_PROVIDERS,
AuthenticationService,
AccountService
],
bootstrap: [AppComponent]
})
export class AppModule {
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With