如何使用systemjs导入socket.io-client?

时间:2016-05-11 18:48:11

标签: typescript socket.io systemjs

如何导入独立的socket.io客户端?我正在使用system.js作为模块加载器,我在typescript中编写代码。

在我的打字稿文件中,我有以下import语句。

import * as io from 'socket.io-client';

system.js的配置如下所示。

   System.config({
    map: {
        rxjs: 'node_modules/rxjs',
        'socket.io-client': 'node_modules/socket.io-client'
    },
    packages: {
      app: {
        format: 'register',
        defaultExtension: 'js'
      },
      rxjs: {defaultExtension: 'js'},
      'socket.io-client': {defaultExtension: 'js'}
    }
  });
  System.import('app/main')
        .then(null, console.error.bind(console));

在我的浏览器中,我收到此错误。

  

angular2-polyfills.js:126 GET   http://localhost:3000/node_modules/socket.io-client/ 404(未找到)

加载此模块需要做什么?

2 个答案:

答案 0 :(得分:1)

尝试指定socket.io.js的完整路径,如下所示

System.config({
map: {
    rxjs: 'node_modules/rxjs',
    'socket.io-client': 'node_modules/socket.io-client/socket.io.js'
},
...

答案 1 :(得分:0)

System.config({
map: {
    ...
    "socket.io-client": "npm:socket.io-client/dist"
},
...
packages: {
    ...
    "socket.io-client": {"main": "./socket.io.js"}
}
});