Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Dateigröße mit Bordmitteln

    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

    Dateigröße mit Bordmitteln

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      WolfgangFB @MCU last edited by

      @mcu

      Danke, das habe ich gesucht. Frage: warum setzt Du "size" in geschweifte Klammern?

      M OliverIO paul53 3 Replies Last reply Reply Quote 0
      • M
        MCU @WolfgangFB last edited by

        @wolfgangfb Da die Antwort von fs.statSync('') ein Objekt ist und man nur die size haben möchte:

        {'dev':33,'mode':33261,'nlink':1,'uid':1001,'gid':1001,'rdev':0,'blksize':1048576,'ino':3096224743913964,'size':122867029,'blocks':239976,'atimeMs':1653732607019.0588,'mtimeMs':1650067255000,'ctimeMs':1653681143276.067,'birthtimeMs':1649193484247.149,'atime':'2022-05-28T10:10:07.019Z','mtime':'2022-04-16T00:00:55.000Z','ctime':'2022-05-27T19:52:23.276Z','birthtime':'2022-04-05T21:18:04.247Z'}
        
        1 Reply Last reply Reply Quote 1
        • OliverIO
          OliverIO @WolfgangFB last edited by

          @wolfgangfb

          Die Funktion gibt ein umfangreiches Objekt zurück.
          Durch eine relativ neue Erweiterung des JavaScript Standards kann man ein oder mehrere Attribute dieses Objekts relativ einfach in eigene Variablen speichern und weiter verwenden.
          In diesem Fall wird die Eigenschaft size des Objekts in die variable size gespeichert

          https://www.geeksforgeeks.org/node-js-fs-statsync-method/

          https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

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

            @wolfgangfb sagte: warum setzt Du "size" in geschweifte Klammern?

            Das ist eine andere Schreibweise für

            const size = fs.statSync('backup/backup.json').size;
            
            W 1 Reply Last reply Reply Quote 0
            • W
              WolfgangFB @paul53 last edited by

              @paul53

              Wieder was gelernt, das wusste ich noch nicht.

              1 Reply Last reply Reply Quote 0
              • wcag22
                wcag22 last edited by

                Re: Dateigröße mit Bordmitteln

                Ok, die Forensoftware schlägt vor, ein neues Thema aufzumachen, sei es drum:
                Also:

                var fs = require('fs');
                const {size} = fs.statSync('backup/backup.json');
                

                Nach der Umstellung auf ESM ist der Aufruf in Zeile 1 wohl deprecated, oder?
                Vorgeschlagen bzw. berichtigt wird nun zu:

                import fs from 'fs';
                

                Auch nach sehr langem Bemühen des Webs finde ich für die Zeile 2 (Zuweisen zur Variablen) keine passende Lösung (oder ich habs nicht verstanden...).

                Kann Jemand helfen? - Danke.

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @wcag22 last edited by Homoran

                  @wcag22 sagte in Dateigröße mit Bordmitteln:

                  die Forensoftware schlägt vor, ein neues Thema aufzumachen,

                  Ist hier ja von 2022, bietet dir aber auch an, hier weiterzumachen.

                  hab's mal zusammengeführt, ist ja sooo alt nicht, und sollte auch noch nicht veraltet sein.

                  oder doch?
                  @wcag22 sagte in Dateigröße mit Bordmitteln:

                  wohl deprecated

                  was ist denn ESM?
                  Wikipedia war da nicht sehr hilfreich
                  https://de.m.wikipedia.org/wiki/ESM

                  wcag22 1 Reply Last reply Reply Quote 0
                  • wcag22
                    wcag22 @Homoran last edited by Homoran

                    @homoran

                    Moin,

                    erstmals darauf aufmerksam geworden am 19.06.24 beim Meeting für ioBroker Core/Dev/Admin

                    "JS-Controller läuft jetzt als ESM Module",

                    Dann:

                    esm-modul.png

                    Soweit ich das verstanden (?) habe, hängt das mit der node-Version zusammmen.

                    How To Use ESM: https://byteofdev.com/posts/how-to-use-esm/

                    Alle Angaben ohne Gewähr

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @wcag22 last edited by

                      @wcag22 Danke!
                      Da soll dann mal ein Wissender was zu sagen

                      1 Reply Last reply Reply Quote 0
                      • OliverIO
                        OliverIO last edited by OliverIO

                        @homoran

                        Hier mal ein Vergleich der verschiedenen modulsysteme bei JavaScript
                        https://joeattardi.dev/comparison-of-javascript-modules

                        Ziel ist irgendwann mal ES modules.
                        Es gibt (und wahrscheinlich noch sehr lange) immer noch viele commons Modul Bibliotheken,

                        https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Statements/import

                        1 Reply Last reply Reply Quote 0
                        • wcag22
                          wcag22 last edited by wcag22

                          @oliverio
                          Moin,

                          auch wenn Du mich vermutlich bewusst nicht erwähnt hast ( 🙂 ) Danke für die Links. Habe sie mir für späteres gründliches Lesen vorgemerkt.
                          Leider komme ich - zunächst ad hoc - auch nicht weiter:

                          Das führt sofort zum Fehler:

                          import {size} from '/media/tapo_report.jpg';
                          

                          Die Frage, wie man nach dieser Methode die Dateigröße ausliest und einer Variablen zuweist, bleibt damit zunächst offen.

                          @Homoran
                          Vielleicht findet sich ja noch ein von Dir erwähnter Wissender 🙂

                          Schönes WE

                          Edit:
                          Das obige Beispiel ist natürlich Unsinn. Soo kann ich nix importieren. Schnellschuss halt...

                          Asgothian 1 Reply Last reply Reply Quote 0
                          • Asgothian
                            Asgothian Developer @wcag22 last edited by Asgothian

                            @wcag22 sagte in Dateigröße mit Bordmitteln:

                            @oliverio
                            Moin,

                            auch wenn Du mich vermutlich bewusst nicht erwähnt hast ( 🙂 ) Danke für die Links. Habe sie mir für späteres gründliches Lesen vorgemerkt.
                            Leider komme ich - zunächst ad hoc - auch nicht weiter:

                            Das führt sofort zum Fehler:

                            import {size} from '/media/tapo_report.jpg';
                            

                            Die Frage, wie man nach dieser Methode die Dateigröße ausliest und einer Variablen zuweist, bleibt damit zunächst offen.

                            @Homoran
                            Vielleicht findet sich ja noch ein von Dir erwähnter Wissender 🙂

                            Schönes WE

                            Edit:
                            Das obige Beispiel ist natürlich Unsinn. Soo kann ich nix importieren. Schnellschuss halt...

                            Du musst das was oben steht durchaus auch 'korrekt' umsetzen:

                            Mit dem 'import' befehl importierst du eine Bibliothek. Damit ersetzt import fs from 'fs' nur var fs = require('fs') In der muss dann die Funktion aufgerufen werden die die Daten liefert::

                            import fs from 'fs'; 
                            const {size} = fs.statSync('/media/tapo_report.jpg');
                            
                            

                            A.

                            wcag22 1 Reply Last reply Reply Quote 0
                            • wcag22
                              wcag22 @Asgothian last edited by

                              @asgothian sagte in Dateigröße mit Bordmitteln:

                              Erst einmal danke für die Rückmeldung und die Erklärung.

                              Du musst das was oben steht durchaus auch 'korrekt' umsetzen:

                              Ja klar 🙂 , aber das war ja eben mein Verständnisproblem

                              Mit dem 'import' befehl importierst du eine Bibliothek. Damit ersetzt import fs from 'fs' nur var fs = require('fs') In der muss dann die Funktion aufgerufen werden die die Daten liefert::

                              Ok, das haste gut erklärt. Wieder was gelernt. Also danke-danke...

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              387
                              Online

                              31.8k
                              Users

                              80.0k
                              Topics

                              1.3m
                              Posts

                              7
                              15
                              442
                              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