• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Nodejs modules export

GELight

New member
Hi alle zusammen,

Ich bin nach längerer Zeit mal wieder dabei, dieses modules exports bei nodejs zu verstehen.
Also wie wendet man das denn an, damit man später irgendwo sowas machen kann?:

PHP:
import { myModule } from 'myNodeModule';
// das hatte ich glaub ich mal in Meteor so gelesen

oder:

PHP:
import myModule from 'myModule'

oder so:

PHP:
const myNodeModule = require('myNodeModule');
// So ist es bei NodeJs oder?

Was ich bereits gefunden habe ist, wie man solch einen Export definiert.
Sagt mir bitte, wenn ich falsch liege.

PHP:
var exports = module.exports = {};
exports = {
	test: function() {
		console.log('test');
	}
};

Die Frage ist nun.... wo definiert man das denn eigentlich richtig?
In fast allen Fällen kann man irgendwie entweder eine direkte *.js Datei angeben, in der dann das Export definiert ist. Aber was muss ich tun, wenn über den Import einfach nur den Module-Namen angeben will?
Woher weiß Node oder was auch immer das Import ausführt denn, wo meine zu exportierenden JavaScript Variablen, Funktionen oder Objects zu finden sind?

Also ich habe bereits ein fertiges Package (https://github.com/jsCow/jscow-node-editor) und wollte das nun so mit diesem modul exports ausstatten, dass man es wieder per Import in einem Projekt einfach nutzen kann.

Gruß Mario
 
Zuletzt bearbeitet:
In fast allen Fällen kann man irgendwie entweder eine direkte *.js Datei angeben, in der dann das Export definiert ist. Aber was muss ich tun, wenn über den Import einfach nur den Module-Namen angeben will?
Auch ein Modulname ist einfach nur der Name einer Datei.

Woher weiß Node oder was auch immer das Import ausführt denn, wo meine zu exportierenden JavaScript Variablen, Funktionen oder Objects zu finden sind?
Über den Modulnamen wird die entsprechende Datei gefunden und ausgeführt. Dabei werden die Variablen exports und module zur Verfügung gestellt. Wenn du jetzt z.B. eine Funktion exportieren willst, kannst du das einfach so machen:
Code:
function test(){}

exports.test = test;

Also ich habe bereits ein fertiges Package
Hab' nur kurz auf die Ordnerstruktur geschaut, aber das sieht mir nicht so aus, als wäre das als Module geeignet...
 
Zurück
Oben