2017-10-27 14 views
0
const { exec } = require('child_process'); 

nicht verstanden Ich bin noch neu bei node.js. Ich würde gerne wissen, was der Zweck der geschweiften Klammern in der Nähe von const ist, ist es wie eine eckige/Schreibmaschine Weg, um das Objekt aus dem Modul zu holen?Ich habe const {} in Knoten

Gibt es ES6 oder welche neue Syntax sollte ich beachten? mag:

const[foo] = , or const(foo) = 
+0

Dies ist eine Destrukturierungszuweisung - https://stackoverflow.com/questions/15290981/what-does-curly-brackets-in-the-var-statements-do – dzm

Antwort

1

Ja, das ist ein Teil des ES6 ist. Sie heißen named exports und diese Zugriffsmethode wird als "Destrukturierung" bezeichnet.

Also, wenn Sie ein Modul mit folgendem Inhalt:

import foo from "module";

import { foo } from "module";

import * as mod from "module"; console.log(mod.foo)

:

export const foo = Math.sqrt(2);

Sie foo, indem Sie eine der unten verwenden

+1

Um klar zu sein, const {exec} = require ('child_process ') 'ist eigentlich kein benannter Export (obwohl er einen emuliert); es ist nur regelmäßige Destrukturierung. Der Knoten hat noch keine native Unterstützung für ES6-Module, daher ist die Verwendung der Destrukturierung mit 'require'-Anweisungen die nächstbeste Lösung. (Natürlich können Sie Babel verwenden, um die ES6-Modul-Syntax verwenden zu können.) –

Verwandte Themen