Antwort an „Rolf B“ verfassen

Hallo effel,

{
  "type":"module",
  "dependencies": {import { WebSocket }from 'ws' ;
  "@svgdotjs/svg.js": "^3.1.2",
  ...
  "ws": "^8.18.3",
}

WTF?

Das steht so nicht im Wiki. Guck nochmal dorthin.

Es entstand der Fehler:

import { WebSocket }from 'ws' ;
SyntaxError: Unexpected token '{'

Ja natürlich, wenn Du JavaScript-Code in eine JSON-Datei haust, kann das ja nur schiefgehen. import { WebSocket } from 'ws' ; gehört nicht in die package.json, sondern in dein Node-Programm.

Ob type=module für Dich funktioniert, wenn Du noch andere Module dazu lädst, ist so eine Sache, das kann ich nicht beurteilen. Aber @svgdotjs/svg.js sieht so aus, als wäre es auch ein ES6-Modul und die Anleitung sagt, man solle es per import laden.

Warum nicht require, da node ?

Weil ES6-Modul, genau wie @svgdotjs/svg.js mit import eingebunden werden muss. Wie bindest Du es ein?

Require = Altes Modulsystem (CommonJS), Import = ES6-Modulsystem.

Außerdem ging jetzt das require in meine anderen Programmen nicht mehr !!

Jepp, ES6-Modulsystem und CommonJS-Modulsystem vertragen sich nicht. Wie hast Du denn vor dem Hinzufügen von ws die Module geladen - insbesondere svg.js?

Man kann CommonJS und ES6-Module mixen, das ist aber etwas Frickelei. Welche Module bindest Du mit require ein?

Rolf

--
sumpsi - posui - obstruxi
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen