相关疑难解决方法(0)

在Angular 2应用程序中导入socket.io-client时出错

我正在尝试在我的angular 2应用程序中使用socket.io客户端并安装它和打字

我只是从'socket.io-client'导入;

但不知怎的,我从中得到了很多错误:

在此输入图像描述

我可以在我的index.html中使用lib,如果我从cdn加载脚本并将init代码放在<script>标签中但我不能在我的实际angular 2应用程序中使用它.

我在这做错了什么?

这是我的样板:https://github.com/mgechev/angular2-seed

socket.io的例子似乎已经过时了,这就是我避免它们的原因.

这就是我正在做的并且已经得到了这些错误:

import * as io from 'socket.io-client';
[...]
var socket = io('127.0.0.1');
Run Code Online (Sandbox Code Playgroud)

所以这个问题似乎与SystemJS有关.这个https://github.com/mgechev/angular2-seed/wiki/Add-external-dependency建议我可以添加socket.io-client,它应该自动添加所有依赖项,但这似乎并非如此.

我已经尝试了完整的例子,但这也无济于事.

socket.io angular

7
推荐指数
1
解决办法
3847
查看次数

Angular2 CLI Socket.io(第三方库导入)

angular-cli: 0.0.39 
node: 6.2.2 
os: win32 x64
Run Code Online (Sandbox Code Playgroud)

我试图将socket.io-client导入到使用angular-cli生成的angular2应用程序中,但我无法让它工作.

chat.component.ts

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

@Component({
  ...
})
export class ChatAppComponent {
  ...
}
Run Code Online (Sandbox Code Playgroud)

系统config.ts

/** Map relative paths to URLs. */
const map: any = {
    "socket.io-client": "vendor/socket.io-client/socket.io.js"
};

/** User packages configuration. */
const packages: any = {
    "socket.io-client": {"defaultExtension": "js"}
};
Run Code Online (Sandbox Code Playgroud)

角-CLI-build.js

var Angular2App = require('angular-cli/lib/broccoli/angular2-app');

module.exports = function(defaults) {
  return new Angular2App(defaults, {
    vendorNpmFiles: [
      'systemjs/dist/system-polyfills.js',
      'systemjs/dist/system.src.js',
      'zone.js/dist/*.js',
      'es6-shim/es6-shim.js',
      'reflect-metadata/*.js',
      'rxjs/**/*.js',
      '@angular/**/*.js', …
Run Code Online (Sandbox Code Playgroud)

import socket.io angular-cli angular

6
推荐指数
1
解决办法
2221
查看次数

标签 统计

angular ×2

socket.io ×2

angular-cli ×1

import ×1