I have an existing require
:
const {dialog} = require(\'electron\').remote;
I started using Babel for ES6, and would like to
ECMAScript module syntax doesn't allow deep destructuring. In fact it doesn't destructure at all. Import statements create live bindings between modules.
Here is great blog post written by Ben Nadel. It should shed some light on bindings: http://www.bennadel.com/blog/3131-the-import-statement-creates-a-live-view-of-modules-in-es6-and-typescript-in-angular-2.htm
So by doing
import electron from 'electron';
const {dialog} = electron.remote;
electron
is such binding. By doing destructuring assignment dialog
is normal constant and it won't be "bound" to electron module (it won't update).