2016-09-01 33 views
6

Tôi đang gặp một số sự cố khi ứng dụng của mình chạy sau khi cập nhật lên RC6.Các vấn đề về góc 2 RC6 với SystemJS

Tôi đã thay đổi hệ thống của mình do ví dụ chính thức from changelog.

Nhưng tôi vẫn nhận được lỗi biên dịch như thế này: "Mô-đun" "D:/Myproject/WebClient/node_modules/@ góc/bộ định tuyến/chỉ mục" 'không có thành viên xuất khẩu' ROUTER_DIRECTIVES '. "

Dường như trình biên dịch mất file index.js mặc định thay vì gói UMD ... Các biên dịch được thực hiện bằng việc ngụm với các tùy chọn sau:

"module": "system", "moduleResolution": "node", "target": "ES5", "experimentalDecorators": true, "emitDecoratorMetadata": true, "allowSyntheticDefaultImports": false tôi nhận được lỗi này cho mô-đun bộ định tuyến và các hình thức mô-đun.

Router là V3.0.0-rc.2 và các hình thức được V.2.0.0-RC6

nghĩ nó là nhiều một vấn đề mà systemJs của tôi không được đọc một cách chính xác dù sao đi nữa.

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 bất kỳ ý tưởng? Cảm ơn trước

Trả lời

3

Theo sự thay đổi mới trong chỉ thị phản RC6 được loại bỏ và cho mặc định góc chức năng ngModule được giới thiệu trong RC5 vì vậy bạn phải cấu hình RouterModule từ @angular/router theo Routing tài liệu để cấu hình các tuyến đường của bạn và sau đó bạn có thể sử dụng chỉ thị được cung cấp bởi RouterModule.

+0

Cảm ơn, có một số vấn đề hơn với gói bên ngoài khác, nhưng về cơ bản nó chạy với loại bỏ tất cả các chỉ thị. –

3

Bạn phải xóa ROUTER_DIRECTIVES, FORM_DIRECTIVESCORE_DIRECTIVES khỏi tất cả các thành phần của mình. Thay vào đó, hãy tạo mô-đun cho tất cả các thành phần. Nhập BrowserModule vào số AppModule và nhập FormModule cho tất cả các Mô-đun bạn cần chỉ thị biểu mẫu.

Thông tin bổ sung có thể được tìm thấy ở đây: https://angular.io/docs/ts/latest/guide/architecture.html

Một AppModule trông ví dụ như sau:

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 { 
} 
Các vấn đề liên quan