Actualicé mi proyecto de angular-5.x a angular-6.x y comenzó a dar el siguiente error e incluso la creación de una variable global ficticia no funciona como se indica aquí Angular 6 Auth0 - global no definido
El error es el siguiente:
Uncaught ReferenceError: global is not defined at Object../node_modules/has-binary2/index.js (index.js:10) at __webpack_require__ (bootstrap:81) at Object../node_modules/socket.io-parser/index.js (index.js:8) at __webpack_require__ (bootstrap:81) at Object../node_modules/socket.io-client/lib/index.js (index.js:7) at __webpack_require__ (bootstrap:81) at Object../src/app/app4pc/apiConnection/services/ApiConnectionServer.ts (auth.interceptor.ts:8) at __webpack_require__ (bootstrap:81) at Object../src/app/app4pc/apiConnection/toServer.module.ts (ApiConnectionServer.ts:11) at __webpack_require__ (bootstrap:81)después de resolver esto me sale el siguiente error:
Uncaught ReferenceError: process is not defined at Object../node_modules/process-nextick-args/index.js (index.js:3) at __webpack_require__ (bootstrap:81) at Object../node_modules/readable-stream/lib/_stream_readable.js (_stream_readable.js:26) at __webpack_require__ (bootstrap:81) at Object../node_modules/readable-stream/readable-browser.js (readable-browser.js:1) at __webpack_require__ (bootstrap:81) at Object../node_modules/simple-peer/index.js (index.js:7) at __webpack_require__ (bootstrap:81) at Object../src/app/util/services/call.services.ts (notification.service.ts:12) at __webpack_require__ (bootstrap:81)Y sigue y sigue.
Agregar esta línea a polyfills.ts debería resolver el error global del nodo
(window as any).global = window;
La solución se mencionó en este tema angular-cli thred
Agregue el siguiente código en su página de inicio, por ejemplo, index.html
var global = global || window; var Buffer = Buffer || []; var process = process || { env: { DEBUG: undefined }, version: [] };Ejemplo:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Client</title> <base href="/"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" type="image/x-icon" href="favicon.ico"> <script> var global = global || window; var Buffer = Buffer || []; var process = process || { env: { DEBUG: undefined }, version: [] }; </script> </head> <body> <app-root> <div class="loader"></div> </app-root> </body> </html>Lo anterior funcionará en la aplicación híbrida (en el entorno Node), así como en el navegador
para "Error de referencia no capturado: global no está definido":
var global = global || window;para "Error de referencia no capturado: el búfer no está definido":
var Buffer = Buffer || [];para "Error de referencia no capturado: el proceso no está definido":
var process = process || { env: { DEBUG: undefined } }para "TypeError no capturado: no se puede leer la propiedad 'segmento' de indefinido":
var process = process || { env: { DEBUG: undefined }, version: [] };
Uso HttpClient y accidentalmente seleccioné la importación predeterminada que era 'selenium-webdriver/http'
Si su app.module.ts ha import { HttpClient } from 'selenium-webdriver/http';
Actualícelo para import { HttpClient } from '@angular/common/http';
Eso solucionó mi problema.