Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Script in mehrere Scripts aufteilen, ein Object pro Script

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Script in mehrere Scripts aufteilen, ein Object pro Script

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @Martin 5 last edited by paul53

      @martin-5 sagte: Global Ordner gefunden, finde ihn aber nicht im ioBroker.

      Im Expertenmodus von Javascript findet man die Gruppe "global". Skripte dort sollten nur häufig verwendete eigene Funktionen enthalten.

      @martin-5 sagte in Script in mehrere Scripts aufteilen, ein Object pro Script:

      Kann man eigene Module erstellen und dann mit require einbinden?

      Kann man, wenn man weis, wie Module erstellt werden.
      Wenn die eigenen Module unter "iobroker-data/modules" liegen:

      const clock = require('../../../iobroker-data/modules/test.js');
      
      M U 2 Replies Last reply Reply Quote 1
      • M
        Martin 5 @paul53 last edited by

        @paul53 Danke.
        Den globalen Ordner habe ich nun gefunden. Ist ja auch keine Leistung. 😉
        Bei den Modulen bin ich nicht weiter gekommen. Ist aber auch nicht das was ich suche. Wenn man ein größeres Script schreiben möchte wird es schnell unübersichtlich.
        Beispiel:
        Ich erstelle eine Klasse aus der ich mehrere weitere Klassen ableite. In Java wird jede Klasse in eine Datei geschrieben wobei der Klassenname gleich dem Dateinamen ist. Alle Klassen in einem Verzeichnis sehen sich gegenseitig. Das ist recht praktisch und nach meinem Empfinden auch übersichtlich.
        Aber vielleicht sollen die Scripte auch gar nicht so groß werden.

        Grüße Martin

        Codierknecht 1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @Martin 5 last edited by

          @martin-5 sagte in Script in mehrere Scripts aufteilen, ein Object pro Script:

          Den globalen Ordner habe ich nun gefunden

          Globale Scripte haben - meiner bescheidenen Meinung nach - einen entscheidenden Nachteil: Sie werden in alle anderen Scripte "reinkopiert". Auch dort, wo man sie gar nicht benötigt.

          Ich würde @paul53's Vorschlag mit den Modulen verfolgen ...

          U 1 Reply Last reply Reply Quote 1
          • U
            uwe72 @Codierknecht last edited by uwe72

            @codierknecht Exakt, der Mechanismus der Global Scripte ist sehr gewöhnungsbedürftig, dass dies da einfach in die common reingeschrieben wird, ob sie dort gebraucht werden oder nicht. Dies übrigens noch Java-Script-Instanzen-übergreifend.

            Als ehemaliger Java-Entwickler wünscht man sich, dass man den Code den man öfters benötigt in einer "anderen Stelle" (externes File, Module,...) einmal schreibt und hinterlegt und dann in den common-Scripten per import/requires einzubindet.

            Vor einem halben Jahr war ich da schon sehr weit dies auszuprobieren, hatte am Ende aber aufgegeben. Da es glaub mit TypeScript dann noch schwieriger war. Kann mich generell nicht mehr erinnern, was das Problem war. Müsste hier auch Posts dazu geben zu diesem Thema.

            Hast Du das Thema mit den "externen Modulen" schon verfolgt?

            1 Reply Last reply Reply Quote 0
            • U
              uwe72 @paul53 last edited by

              @paul53 said in Script in mehrere Scripts aufteilen, ein Object pro Script:

              @martin-5 sagte: Global Ordner gefunden, finde ihn aber nicht im ioBroker.

              Im Expertenmodus von Javascript findet man die Gruppe "global". Skripte dort sollten nur häufig verwendete eigene Funktionen enthalten.

              @martin-5 sagte in Script in mehrere Scripts aufteilen, ein Object pro Script:

              Kann man eigene Module erstellen und dann mit require einbinden?

              Kann man, wenn man weis, wie Module erstellt werden.
              Wenn die eigenen Module unter "iobroker-data/modules" liegen:

              const clock = require('../../../iobroker-data/modules/test.js');
              

              Kannst Du mir helfen. Habe eine Docker-Umgebung. Wo genau finde ich dein Verzeichnis "iobroker-data/modules"?
              2d6cfbb1-3a4b-49b0-b373-88826ff00360-image.png

              paul53 U 2 Replies Last reply Reply Quote 0
              • paul53
                paul53 @uwe72 last edited by paul53

                @uwe72 sagte: Docker-Umgebung.

                Davon habe ich keine Ahnung.

                @uwe72 sagte in Script in mehrere Scripts aufteilen, ein Object pro Script:

                Wo genau finde ich dein Verzeichnis "iobroker-data/modules"?

                Unter Linux unter /opt/iobroker/iobroker-data. Darunter das Verzeichnis "modules" erstellt und darin dann die Skripte (Node-Module). Daten unter "iobroker-data" werden beim Backup gesichert.

                U 1 Reply Last reply Reply Quote 1
                • U
                  uwe72 @paul53 last edited by

                  @paul53 Wie heißt denn bei dir der volle absolute Pfad zu "iobroker-data/modules"?

                  OliverIO 1 Reply Last reply Reply Quote 0
                  • U
                    uwe72 @uwe72 last edited by uwe72

                    const clock = require('../../../iobroker-data/modules/test.js');
                    

                    Hast Du mir ein kleines Beispiel für den Inhalt von test.js, müssen da so Dinge wie export.... oder was rein? Und wie der Inhalt dann im common Script eingebunden wird bzw. verwendet wird? DANKE

                    T 1 Reply Last reply Reply Quote 0
                    • OliverIO
                      OliverIO @uwe72 last edited by

                      @uwe72
                      Ah du hast diesen thread auch schon gefunden

                      1 Reply Last reply Reply Quote 1
                      • T
                        ticaki Developer @uwe72 last edited by

                        @uwe72

                        hab dir in deinem anderen Thread einen Link zu einem Beispiel von paul gepostet 😄

                        U 1 Reply Last reply Reply Quote 1
                        • U
                          uwe72 @ticaki last edited by

                          Habe für mich mal eine funktionierende Lösung in einem neuen Post aufgeschrieben:
                          https://forum.iobroker.net/topic/78632/info-auslagerung-von-scripte-aus-global-aufs-filesystem

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          383
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          6
                          12
                          524
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo