Rolf B: Einzelwerte über Nodeserver zum Client

Beitrag lesen

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