2016-05-18 32 views
0

Ich versuche, Funktionen in ES6 zu exportieren, um auf sie von anderen Dateien zuzugreifen. Aber ich kann nicht herausfinden, wie.ES6 exportieren und importieren Probleme

Datei 1: (Import)

import components from './components/components'; 
console.log(components.hej); 

Datei 2: (Export)

var hej =() => { 
    console.log('HEj'); 
}; 

export var hej; 

Warum kann ich keinen Zugriff auf die Funktion "hej" erklärt in Datei 2 von Datei 1? Es macht keinen Sinn für mich.

Bitte helfen!

+0

Bitte veröffentlichen Sie Ihre Verzeichnisstruktur. –

+0

Es ist nicht sinnvoll, den Funktionspfeil zu verwenden, wenn Sie die Funktion in der benannten Variablen speichern und sie dann über die Variable verfügbar machen. Verwenden Sie in diesem Fall den Standard 'function hej() {...}' – libik

+0

Scheint, dass Sie überhaupt nicht über Importe und Exporte gelesen haben. MDN hat Beispiele, die genau zeigen, was zu tun ist: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import, https://developer.mozilla.org/en-US/ docs/Web/JavaScript/Referenz/Anweisungen/exportieren. –

Antwort

4

Sie machen einen benannten Export, keinen Standardexport, so dass die Importsyntax nicht funktioniert. So importieren hej, wie es steht, dann würden Sie zu tun haben:

// Imports a single object by name 
import { hej } from './components/components'; 
console.log(hej); 

Oder:

// Imports all exported objects grouped together under the specified name 
import * as components from './components/components'; 
console.log(components.hej); 

Auch Ihre Export Syntax ist nicht richtig - export var hej sollte export { hej } sein, wie du bist nicht Definieren Sie dort eine neue Variable, verwenden Sie die vorhandene. Alternativ könnten Sie Ihre Funktionsdeklaration in export var hej =() => { ... }; ändern, und das hätte den gleichen Effekt.

+0

Ah, ich verstehe. Vielen Dank, Alter. Das hat mir wirklich geholfen. – user2952238

+0

@ user2952238: Ich bin froh, dass ich helfen konnte. Ich würde definitiv empfehlen, den Link zu lesen, den Felix Kling in den Kommentaren gepostet hat - ein paar gute Beispiele. –

Verwandte Themen