2016-09-01 5 views
6

RC6にアップデートしてからアプリケーションを起動するときに問題が発生します。SystemJSのAngular 2 RC6の問題

公式の例from changelogのためにシステムを変更しました。

「モジュール」「D:/ Myproject/WebClient/node_modules/@ angular/router/index」にエクスポートされたメンバー 'ROUTER_DIRECTIVES'がありません。

それはコンパイラが代わりにUMDパッケージをデフォルトindex.jsファイルを取るように...コンパイルは、次のオプションを一気タスクによって行われているになります。

"module": "system", "moduleResolution": "node", "target": "ES5", "experimentalDecorators": true, "emitDecoratorMetadata": true, "allowSyntheticDefaultImports": false 私はルータモジュールやフォームのために、このエラーが出ますモジュール。

ルータは、V3.0.0-rc.2とフォームが

が、それは私のsystemJsはとにかく正しく読まれていない多くの問題であると考えてV.2.0.0-RC6です。

SystemJS:任意のアイデアAynbody

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' 
}); 

?事前に おかげでRC6非推奨のディレクティブで

答えて

3

として新しい変化当たりが削除され、あなたのルートを設定するRoutingドキュメントごとに@angular/routerからRouterModuleを設定する必要がありますので、デフォルトのための角度の機能ngModuleはRC5で導入され、その後、あなたはディレクティブを使用することができますRouterModuleによって提供される。

+0

ありがとうございます。他の外部パッケージにはもう少し問題がありますが、基本的にはすべてのディレクティブを削除して動作します。 –

3

すべてのコンポーネントからROUTER_DIRECTIVES,FORM_DIRECTIVESおよびCORE_DIRECTIVESを削除する必要があります。代わりに、すべてのコンポーネントのモジュールを作成します。 AppModuleBrowserModuleをインポートし、フォームディレクティブが必要なすべてのモジュールに対して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 { 
} 
関連する問題