如何使用systemjs / es6转换此require语句?

时间:2016-05-20 16:34:17

标签: highcharts typescript angular systemjs jspm

所以我正在使用angular2 / TypeScript并尝试转换此调用,这种调用今天工作正常:

.text()

到es6

某种东西:

window['Highmaps'] = require('highcharts/modules/map')(Highcharts);

但没有运气,因为前者有效但es6版本没有。 顺便说一句,这是项目:https://github.com/Bigous/ng2-highcharts

我必须转换它,因为我试图从commonjs转移到systemjs,

感谢您的帮助,

肖恩。

2 个答案:

答案 0 :(得分:2)

https://widgets.pinterest.com/v1/urls/count.json?url=<url>

require的值立即作为函数应用。这通常意味着我们正在使用默认导出。

尝试

window['Highmaps'] = require('highcharts/modules/map')(Highcharts);

答案 1 :(得分:1)

为了能够导入,您需要在system.config.js文件或System.config({...})中创建条目,但是您正在进行配置。

一个条目在map中,一个在packages中,如此

// map tells the System loader where to look for things
  var map = {
    'app':                        'app', // 'dist',
    'rxjs':                       'node_modules/rxjs',
    'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api',
    '@angular':                   'node_modules/@angular',
    'highcharts':                 'path/to/highcharts-directory'
  };

  // packages tells the System loader how to load when no filename and/or no extension
  var packages = {
    'app':                        { main: 'main.js',  defaultExtension: 'js' },
    'rxjs':                       { defaultExtension: 'js' },
    'angular2-in-memory-web-api': { defaultExtension: 'js' },
    'highcharts/modules/map':                 { defaultExtension: 'js' }
  };

你很高兴......希望它有效。