2016-09-01 3 views
6

У меня возникли проблемы с запуском моего приложения после обновления до RC6.Угловые 2 проблемы с RC6 с SystemJS

Я сменил свою системуjs из-за официального примера from changelog.

Но я все еще получаю ошибки компиляции, подобные этому: «Модуль» «D:/Myproject/WebClient/node_modules/@ angular/router/index» «не имеет экспортированных элементов« ROUTER_DIRECTIVES ».»

Похоже, что компилятор принимает index.js по умолчанию файл вместо этого UMD пакета ... составитель делаются глоток задача со следующими параметрами:

"module": "system", "moduleResolution": "node", "target": "ES5", "experimentalDecorators": true, "emitDecoratorMetadata": true, "allowSyntheticDefaultImports": false Я получаю эту ошибку для маршрутизатора модуля и форм модуль.

маршрутизатор v3.0.0-РК-2 и формы является V.2.0.0-rc6

Думаю, что это больше проблема, что мои systemJs не правильно читать так или иначе.

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 любая идея? Заранее спасибо

ответ

3

В соответствии с новым изменением в RC6 устаревших директив удаляются и по умолчанию угловой функциональность ngModule вводится в rc5, так что вы должны настроить RouterModule от @angular/router согласно Routing документации для настройки маршрутов, а затем вы можете использовать директивы предоставлено RouterModule.

+0

Спасибо, есть еще проблемы с другими внешними пакетами, но в основном он работает с удалением всех директив. –

3

Вы должны удалить ROUTER_DIRECTIVES, FORM_DIRECTIVES и CORE_DIRECTIVES из всех ваших компонентов. Вместо этого создайте модули для всех компонентов. Импортируйте BrowserModule в свои AppModule и импортируйте FormModule для всех Модули, для которых вам нужны директивы формы для.

Дополнительную информацию можно найти здесь: https://angular.io/docs/ts/latest/guide/architecture.html

AppModule выглядит, например, например:

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 { 
} 
Смежные вопросы