NEWS
require(....path_to_json)-Frage
-
Hallo
Ich muss über require ein JSON laden, nur wie ist der Pfad definiert?
Ich dachte require('googleservices.json') würde im Pfad /opt/iobroker/node_modules/iobroker.javascript/node_modules das googleservices.json suchen.Das heisst, wenn ich googleservices.json in /opt/iobroker/iobroker-data habe, müsste ich:
const key = require('../../../iobroker-data/googleservices.json');
eingeben, oder?
Danke!
-
@dominic-reber
Mit require() werden Node-Module geladen, nicht eine Datei eingelesen. -
@paul53
Hi, danke für Deine Antwort.
Hab den Code von hier:Also von Google selbst - wieso lösen die das über require dort?
Ich kann die Daten auch im Skript direkt eingeben, das geht, aber würde sie lieber von einer Datei laden. -
@paul53 Das JSON gültiges JavaScript ist, geht das tatsächlich. Machen wir beispielsweise in React Adaptern auch so um die Übersetzungen zu laden.
@dominic-reber sagte in require(....path_to_json)-Frage:
Ich kann die Daten auch im Skript direkt eingeben, das geht, aber würde sie lieber von einer Datei laden.
Das ist aus meiner Sicht die beste Lösung, weil Dateien im Dateisystem sind immer etwas ein Risiko mit ioBroker. Ansonsten kannst du auch die Datei in ioBroker hochladen und mit den getFile() den Inhalt holen, und dann per JSON.parse() in ein JSON verwandeln.
-
@dominic-reber: eingeben, oder?
Ich lese ein eigenes Node-Modul, das in iobroker-data/modules gespeichert ist, so ein:
const clock = require('../iobroker-data/modules/test.js');
Das war früher mal anders: So wie Du es machen wolltest.
-
@unclesam Danke für die Antwort, dann schreib ichs direkt ins skript rein.