Upgrading to angular-6.x gives "Uncaught ReferenceError: global is not defined"
Adding this line to polyfills.ts
should resolve node global error
(window as any).global = window;
The solution was mentioned in this angular-cli issue thred
Add following code in your starting page e.g. index.html
var global = global || window;var Buffer = Buffer || [];var process = process || { env: { DEBUG: undefined }, version: []};
Example:
<!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>
Above will work on hybrid app (in Node environment) as well as in browser
for "Uncaught ReferenceError: global is not defined":
var global = global || window;
for "Uncaught ReferenceError: Buffer is not defined":
var Buffer = Buffer || [];
for "Uncaught ReferenceError: process is not defined":
var process = process || { env: { DEBUG: undefined }}
for "Uncaught TypeError: Cannot read property 'slice' of undefined":
var process = process || { env: { DEBUG: undefined }, version: []};
I use HttpClient
and accidentally selected the default import which was 'selenium-webdriver/http'
If your app.module.ts has import { HttpClient } from 'selenium-webdriver/http';
Update it to import { HttpClient } from '@angular/common/http';
That fixed my issue.