Frage OverIP: Frage zum Wiki-Artikel Node.js „Webserver“

problematische Seite

Hallo!

Im Beispiel-Code der o.g. Seite wird folgendes Kommando ausgeführt:

console.log(WHT + 'Statischer Webserver läuft auf\n => http://localhost:' + port + '/\nCTRL + C zum Beenden');

Was zu der Fehlermeldung: ReferenceError: WHT is not defined

führt. Was ist damit gemeint bzw. habe ich etwas übersehen?

Danke und Gruß

  1. problematische Seite

    Servus!

    Hallo!

    Im Beispiel-Code der o.g. Seite wird folgendes Kommando ausgeführt:

    console.log(WHT + 'Statischer Webserver läuft auf\n => http://localhost:' + port + '/\nCTRL + C zum Beenden');

    Was zu der Fehlermeldung: ReferenceError: WHT is not defined

    führt. Was ist damit gemeint bzw. habe ich etwas übersehen?

    Im Beispiel drunter sind Farben definiert:

    // Colors for CLI output
    var WHITE = '\033[39m';
    var RED = '\033[91m';
    var GREEN = '\033[32m';
    
    
    ...
    
        // Check if the requested file exists
        fs.exists(filename, function (exists) {
            // If it doesn't
            if (!exists) {
                // Output a red error pointing to failed request
                console.log(RED + 'FAIL: ' + filename);
                // Redirect the browser to the 404 page
                filename = path.join(process.cwd(), '/404.html');
            // If the requested URL is a folder, like http://localhost:8000/catpics
    
            } else if (fs.statSync(filename).isDirectory()) {
                // Output a green line to the console explaining what folder was requested
                console.log(GREEN + 'FLDR: ' + WHITE + filename);
    

    Herzliche Grüße

    Matthias Scharwies

    --
    Das wirksamste Mittel gegen Sonnenbrand
    ist Urlaub am Ostseestrand!
    1. problematische Seite

      Danke!

      Habe es gerade gesehen, dass der Code aus der Server.js unter NPM-Free-Server (Github) kopiert wurde und dort sind die Farben mit WHT, RED etc. deklariert.

      Im genannten Beispiel darunter aber mit WHITE, nicht WHT.

      Grüße

      1. problematische Seite

        Servus!

        Danke!

        Habe es gerade gesehen, dass der Code aus der Server.js unter NPM-Free-Server (Github) kopiert wurde und dort sind die Farben mit WHT, RED etc. deklariert.

        Im genannten Beispiel darunter aber mit WHITE, nicht WHT.

        wird ausgebessert!

        Herzliche Grüße

        Matthias Scharwies

        --
        Das wirksamste Mittel gegen Sonnenbrand
        ist Urlaub am Ostseestrand!
        1. problematische Seite

          Servus!

          Servus!

          Danke!

          Habe es gerade gesehen, dass der Code aus der Server.js unter NPM-Free-Server (Github) kopiert wurde und dort sind die Farben mit WHT, RED etc. deklariert.

          Ja, steht weiter oben:

          Das Beispiel basiert auf einem Konzept von Jared Wilcurt, das auf [https://github.com/TheJaredWilcurt/NPM-Free-Server github] zu finden ist.

          Im genannten Beispiel darunter aber mit WHITE, nicht WHT.

          wird ausgebessert!

          Herzliche Grüße

          Matthias Scharwies

          Herzliche Grüße

          Matthias Scharwies

          --
          Das wirksamste Mittel gegen Sonnenbrand
          ist Urlaub am Ostseestrand!
          1. problematische Seite

            Hallo Matthias,

            ich glaube aber auch, dass es fragwürdig ist, ein solches Tool mit Farb-Escapesequenzen zu dekorieren. Soweit ich weiß, hängt es an der Terminalemulation, ob diese Sequenzen funktionieren…

            Das müsste man zumindest anmerken und schreiben, in welcher Umgebung die Sequenzen funktionieren. Aber frag nicht mich…

            Rolf

            --
            sumpsi - posui - obstruxi
            1. problematische Seite

              Servus!

              Hallo Matthias,

              ich glaube aber auch, dass es fragwürdig ist, ein solches Tool mit Farb-Escapesequenzen zu dekorieren. Soweit ich weiß, hängt es an der Terminalemulation, ob diese Sequenzen funktionieren…

              Ja, ich shcreib's mir mal auf.

              Das müsste man zumindest anmerken und schreiben, in welcher Umgebung die Sequenzen funktionieren. Aber frag nicht mich…

              Eigentlich wollt' ich bemängeln, dass es bei der Console API stehen müsste, aber da haben wir sogar was:

              Herzliche Grüße

              Matthias Scharwies

              --
              Das wirksamste Mittel gegen Sonnenbrand
              ist Urlaub am Ostseestrand!
              1. problematische Seite

                Hallo Matthias,

                dass das in Node funktioniert, wäre zunächst zu beweisen…

                ...

                Done with node 18: %d funktioniert in Node+Browser, %c funktioniert nur im Browser.

                \033[91m funktioniert nicht unter Node, aber nicht wegen der ANSI-Sequenz, sondern weil mein Node so eingestellt war, dass er Code automatisch im strict mode ausführt. Und dort sind oktale Escape-Sequenzen nicht erlaubt.

                \x1b[91m funktioniert hingegen unter Node auf einer Windows-Kommandzeile prima und lässt die Ausgabe erröten. Ich ändere die Esc-Sequenzen im Wiki mal auf Hex ab.

                Rolf

                --
                sumpsi - posui - obstruxi
                1. problematische Seite

                  @@Rolf B

                  Done with node 18: %d funktioniert in Node+Browser

                  Was macht %d?

                  %c funktioniert nur im Browser.

                  Das ist im Gegensatz zu irgendwelchen kryptischen Sequenzen wenigstens lesbar, da man mit CSS stylt.

                  👀 Video Start Styling Your console.log() Messages in DevTools

                  Kwakoni Yiquan

                  --
                  Ad astra per aspera
                  1. problematische Seite

                    Hallo Gunnar,

                    Was macht %d?

                    https://wiki.selfhtml.org/wiki/JavaScript/Console_API#Formatierung

                    Rolf

                    --
                    sumpsi - posui - obstruxi
  2. problematische Seite

    @@Frage OverIP

    Im Beispiel-Code der o.g. Seite wird folgendes Kommando ausgeführt:

    console.log(WHT + 'Statischer Webserver läuft auf\n => http://localhost:' + port + '/\nCTRL + C zum Beenden');

    Das kann man auch lesbar schreiben:

    console.log(`${WHT}Statischer Webserver läuft auf
      => http://localhost:${port}/
    CTRL + C zum Beenden`);
    

    (bzw. mit WHITE)

    Kwakoni Yiquan

    --
    Ad astra per aspera