NEWS
Modul durch module.exports und require einbinden
-
ich möchte mein Skript übersichtlicher gestalten und daher einige Funktionen auslagern. Zu diesem Zweck habe ich testweise einige separate Skripte geschrieben. Leider bekomme ich es nicht hin und stehe aktuell etwas auf dem Schlauch.
Könntet ihr mir helfen herauszufinden, was ich möglicherweise falsch mache oder was ich eventuell noch nicht ganz verstanden habe?
// Funktion definieren function printMessage() { log("Dies ist eine Nachricht aus Funktion 1"); } // Die Funktion mit module.exports exportieren module.exports = printMessage;
// Funktion aus function1.js importieren const printMessage = require("/opt/iobroker/scripts/function1.js"); // Funktion ausführen printMessage();
-
Das geht so nicht.
Wenn du hier im Forum suchst sollte das Thema letztes Jahr diskutiert worden sein und wie man das mit externen Dateien lösen kann.
-
@ticaki Vielen Dank für den Hinweis! Ich hatte es schon vermutet, konnte es aber leider nicht finden. Könntest du mir eventuell noch ein paar Informationen geben, wo genau ich deinen Vorschlag finden kann? Das wäre wirklich sehr hilfreich.
-
@franzda
Werde später danach suchen -
@franzda sagte: Leider bekomme ich es nicht hin
Bei mir funktioniert es mit diesem Aufruf:
const myfunc= require('../../../iobroker-data/modules/test2.js'); console.log(myfunc(2) + ', Typ: ' + typeof myfunc);
Inhalt von "iobroker-data/modules/test2.js":
'use strict'; module.exports = function(x) { return (x + 1); }
-
Das was paul geschrieben hat und das hier:
Da gehts um eigene externe Module, Klassen und TS.
https://forum.iobroker.net/post/1078253
Edit: habs selbst nochmal gelesen ist noch immer interessant, was man nicht alles vergisst.