S: Javascript-Interpreter, der "import" kann

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Kermit24
Beiträge: 277
Registriert: 29.04.2006 14:44:39

S: Javascript-Interpreter, der "import" kann

Beitrag von Kermit24 » 18.10.2020 14:37:05

Hallo,

ich bin auch der Suche nach einem Javascript-Interpreter, um folgendes, relativ kleines javascript-Modul im Terminal zu nutzen: https://github.com/newyork-anthonyng/ru ... c/index.js

Ausschnitt:

Code: Alles auswählen

import randomNumberGenerator from "random-number-in-range";
import scrambles from "./scrambles";
Der Interpreter muss also das Modul random-number-in-range mitbringen/nachladen können. In meinem debian ist standmäßig nodejs installiert, worauf /bin/js verlinkt ist. nodejs kommt aber offensichtlich schon mit den import-Anweisung nicht klar. Den Source kann man mit einem tool namens "babel" wohl übersetzen, bzw. sogar das Modul mit npm für nodejs direkt fertig nachladen. Das funktioniert sogar, nur wenn ich mir die runtergeladenen Module anschauen, ist die Struktur so kryptisch umgestrickt, dass man den Code nicht mehr bearbeiten möchte (keine Zeilenumbrüche, Kommentar weg, Variablen/Funktionen heißen nur noch A,B,C, usw.).
Da Javascript für mich eine Fremdsprache ist, scheitere ich gerade schon daran, den passenden Interpreter zu finden :(

am2
Beiträge: 276
Registriert: 20.08.2016 21:56:44

Re: S: Javascript-Interpreter, der "import" kann

Beitrag von am2 » 22.10.2020 01:03:27

Diese Syntax ist ok, sie entspricht der Syntax von node.js. Hinter node.js steckt die JS-Engine V8 von google. Diese ist in C++ geschrieben und übersetzt den JS-Code direkt in Maschinensprache. node.js ist im Prinzip nichts weiter als eine Erweiterung für die V8 und ergänzt sie um so einige nützliche Elemente, ähnlich wie vue.js oder nuxt. babel übersetzt neue JS-Syntax in den alten ES-5-Standard, damit solche Krücken wie IE6 es noch lesen können. V8 und node.js laden da nichts automatisch nach.

Zu deinem Problem:
Dieses kryptische Umstricken ist normal für Production-Versionen jedoch nicht für die Entwicklung. Ich vermute mal, dass webpack da zu früh aktiv wird. In der package.json sehe ich unter "scripts" u.a. test.watch. Das ruft man npm run test.watch auf. Das wäre die richtige Wahl. Du brauchst noch ein npm-Paket namens jest (kenne ich leider nicht, nutze gulp) damit du das vernünftig laufen lassen kannst. Wenn da was schief läuft dann poste die mal Fehlermeldungen hier. Könnte u.U. interessant werden.

Ich sehe auch, dass das github-Paket zum letzten Mal 2017 auf der Werkbank war und wenn sich node_js: '8' auf die Version bezieht, dann muss ich dazu sagen, dass meine 12.18.2 schon etwas angestaubt ist... Wie weit man heute mit der 8er kommt kann ich nicht sagen. Evtl. die 8 auf die aktuelle Version umschreiben? Über jest gibt es genug Infos. Einfach nach npm jest googeln.

Antworten