заранее спасибо за помощь. Я пытаюсь подключить сокет в одном из моих компонентов angular, но в консоли браузера выдается сообщение об ошибке, в котором говорится, что global не определен в Object ../node_modules/socket.io-parser/is-buffer.js
Это мой дом. Component.ts
import { Component, OnInit } from '@angular/core';
import * as $ from 'jquery';
import * as io from 'socket.io-client';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
var socket = io();
Если вынуть socket.io-client и socket = io (); веб-сайт в порядке, но когда я его включаю, он вылетает.
Это мой файл package.json
"dependencies": {
"@angular/animations": "^6.0.0",
"@angular/common": "^6.0.0",
"@angular/compiler": "^6.0.0",
"@angular/core": "^6.0.0",
"@angular/forms": "^6.0.0",
"@angular/http": "^6.0.0",
"@angular/platform-browser": "^6.0.0",
"@angular/platform-browser-dynamic": "^6.0.0",
"@angular/router": "^6.0.0",
"@types/jquery": "^3.3.1",
"@types/socket.io": "^1.4.33",
"body-parser": "^1.18.3",
"bootstrap": "^4.1.1",
"core-js": "^2.5.4",
"express": "^4.16.3",
"jquery": "^3.3.1",
"moment": "^2.22.1",
"mongodb": "^3.1.0-beta4",
"ng4-twitter-timeline": "^1.0.8",
"popper.js": "^1.14.3",
"rxjs": "^6.0.0",
"socket.io": "^2.1.0",
"socket.io-client": "^2.1.0",
"zone.js": "^0.8.26"
}
Сначала я попробовал использовать только socket.io, который не сработал. Затем я начал искать аналогичную проблему. Ничего не нашел.
Моя конечная цель - использовать сокет для извлечения данных из форм и хранения в базе данных. Любая помощь приветствуется.
ОБНОВЛЕНИЕ (ВОЗМОЖНОЕ РЕШЕНИЕ): 17.05.2018 Вы должны использовать:
(window as any) = window
в polyfill.ts это решило проблему для меня.
ОБНОВЛЕНИЕ (ВОЗМОЖНОЕ РЕШЕНИЕ №2): 29.05.2018
(window as any).global = window
Возможный дубликат Обновление до angular-6.x дает "Uncaught ReferenceError: global is not defined"



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


(window as any).global = window
Как уже упоминалось в комментарии, добавьте приведенный выше код в файл polyfills.ts.
В src / index.html в голове добавить
<script>
var global = global || window;
</script>
Чтобы решить эту проблему, вам нужно открыть файл your_angular_setup/src/polyfills.ts, а затем добавить строку ниже в конец файла.
(window as any).global = window
и вы увидите, что ваша проблема исправлена.
как вы нашли решение это, кстати, отлично работает, добавьте его в качестве ответа