How to communicate between main and render process by setting nodeIntegration: false

I read below document and found that its not recommended to set nodeIntegration: true in the webPreferences object for security reason.
Currently, we use IPC to communicate between main and render process. If I set it to false I encounter a run time error :
Uncaught ReferenceError: global is not defined
global._babelPolyfill&&“undefined”!=typeof console&&console.warn&&console.warn("@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended and may have consequences if different versions of the polyfills are applied sequentially. If you do need to load the polyfill more than once, use @babel/polyfill/noConflict instead to bypass the warning.")

How could I get another way to communicate between main and render process ?
My render process is completely browser based.

By using IPC, you’re using Node, so it makes sense to have nodeIntegration set to true.

The only instance in which you should definitely have it set to false is if the page being loaded in is a page served by a server and not coming from within your app.

Otherwise the only way you can/should be communicating is via some kind of API or similar.