Diese Syntax wird ‚Objekt Destrukturierung‘ genannt, und es ist ein Merkmal der neuesten Version von JavaScript (JavaScript2015 aka ECMAScript 6/ES6) - app
und BroswerWindow
sind nur bestimmte Teile von electron
, die Sie in diesem Abschnitt verwenden mögen von Ihrer Anwendung.
Es ist eine Möglichkeit, Ihren Code zu vereinfachen und kritische Teile einer Abhängigkeit einfach zu referenzieren.
Hier ist ein sehr einfaches Beispiel aus https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
var o = {p: 42, q: true};
var {p, q} = o;
console.log(p); // 42
console.log(q); // true
Also in Ihrem Fall ist electron
ein importiertes Modul, das (eine grobe Vereinfachung hier wieder) etwas aussehen würde:
var electron = {
app: {
greet:() => {
console.log("Hello, world!")
}
},
BrowserWindow: {/* some other stuff */},
anotherMethod: {/* other stuff, which we will ignore in your app */}
}
module.exports electron
Dann In Ihrer App importieren Sie dieses Modul und Sie können direkt auf die importierten Attribute verweisen:
const {app, BrowserWindow} = require('electron')
app.greet()
// "Hello, world!"
Und ähnlich können Sie auf BrowserWindow
verweisen ... Sie konnten anotherMethod
jedoch nicht referenzieren, ohne es in die Destrukturierungsaufgabe einzubeziehen.
Ich hoffe, das ist hilfreich.
[Objekt Destrukturierung Zuordnung] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Object_destrukturing) - es ist "neu" Javascript (mit anderen Worten, ES2015 +) –
Es ist im Grunde nur kürzer zu schreiben. Anstatt 'const eletron = require ('electron');' und später 'electron.app' zu verwenden, können Sie einfach' app' eingeben. Ich persönlich vermeide diese Art von Konstrukt, weil 2 importierte Module dieselben Eigenschaften exportieren könnten, und das wäre nicht möglich: 'const {utils} = require ('module1'); const {utils} = require ('module2'); ' – Danosaure