NEWS
Anfänger Frage: Import und Export in Skripten
-
Ich würde gerne in meinen ioBroker Scripten mit Unterverzeichnissen arbeiten und dort Funktionen und Konstanten ablegen, die ich in anderen Scripten mit "import" nutzen kann.
Was mir aufgefallen ist, dass sowohl "export" als auch "import" als Fehler erkannt werden.
Man kann zwar Ähnliches durch Scripte erreichen, die in global abgelegt sind, aber das hat den Nachteil, dass immer alle Scripte neugestartet werden, wenn sich dort etwas verändert.
-
Egal was Du machst, im IOBroker ist "global" nicht das was man als 08/15 User darunter versteht. Alles was unter global gespeichert wird, wird automatisch an alle Scripte angehängt und denn Sinn hab ich auch noch nicht wirklich verstanden.
Dein Problem kenne ich aber auch. Du möchtest Variablen global zur Verfügung stellen und diese dann von diversen Scripten aus nutzen und das funktioniert beim IOBroker ganz einfach über selbst angelegte und definierte Datenpunkte.
-
Man kann zwar Ähnliches durch Scripte erreichen, die in global abgelegt sind, aber das hat den Nachteil, dass immer alle Scripte neugestartet werden, wenn sich dort etwas verändert. `
Das muss so sein, da die Änderungen auch in allen Scripten wirksam werden müssen (sonst wären die Funktionen nicht global). Mit jedem Skriptstart werden die Skripte in den RAM compiliert. Ein selektiver "Import" existiert nicht, es sei denn, Du erstellst ein NPM-Modul mt Deinen Funktionen und trägst es als "Zusätzliches NPM-Modul" in die JS-Konfiguration ein. -
Alles was unter global gespeichert wird, wird automatisch an alle Scripte angehängt und denn Sinn hab ich auch noch nicht wirklich verstanden. `
Der Sinn ist, dass man häufig verwendete eigene Funktionen nicht jedesmal im Script neu deklarieren muss. -
Du hast ja recht, wenn man hier ein wenig mehr Plan hat als ich, dann wird das schon Sinn machen. Ich hatte eben noch keine Verwendung dafür bei mir gefunden. Ich hatte am Anfang auch etwas anderes unter "global" verstanden. Hab ich dann aber hier im Forum erklärt bekommen, was im IOBroker als global gilt. Ich weiß jetzt was man damit machen kann, und wann man es am besten nicht macht. Damit bin ich schon recht glücklich.
-
Mein Motivation für die Frage kam daher, dass ich meine Scripte auf GitHub ablegen möchte.
Da aber die Scripten aber einige vertrauliche Daten enthalten, wollte ich die in ein File auslagern, dass ich referenziere, aber nicht auf Github hochlade.
Ich muss mal überlegen, ob ich das durch require("fs") usw. hingekomme.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden