更新到RC6后,我的应用无法运行时遇到了一些问题。

由于官方示例from changelog,我更改了systemjs。

但是我仍然会遇到这样的编译错误:
“”模块'“D:/Myproject/WebClient/node_modules/@ angular/router/index”'没有导出的成员'ROUTER_DIRECTIVES'。

看起来编译器采用默认的index.js文件而不是umd包...由gulp任务使用以下选项完成编译:
"module": "system", "moduleResolution": "node", "target": "ES5", "experimentalDecorators": true, "emitDecoratorMetadata": true, "allowSyntheticDefaultImports": false我收到路由器模块和表单模块的此错误。

路由器是V3.0.0-rc.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有什么主意吗?
提前致谢

最佳答案

根据rc6中的新更改,已弃用的伪指令将被删除,并且默认的 Angular 功能rc5中引入了ngModule,因此您必须根据Routing文档从RouterModule配置@angular/router来配置路由,然后才能使用RouterModule提供的伪指令。

关于SystemJS的Angular 2 RC6问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39268833/

10-15 00:00