Zum Inhalt springen

JavaScript und TypeScript mit Elide

Führen Sie JavaScript und TypeScript mit Elide ohne Kompilierschritt und ohne tsconfig.json aus: CommonJS und ES-Module, npm-Pakete, node:test-Tests und Server.

Auf dieser Seite

Elide führt JavaScript und TypeScript direkt aus, mit CommonJS, ES-Modulen und einem Teil der Node- und Web-APIs.

TypeScript läuft so, wie es geschrieben ist

Kein Kompilierschritt und keine tsconfig.json: elide app.ts führt die Datei aus.

elide run app.js
elide run app.ts
elide app.ts
elide run -s 'console.log(1 + 1)'

Endungen: .js, .mjs, .cjs, .jsx, .ts, .mts, .cts, .tsx. JSX und TSX werden transformiert; installieren Sie die Laufzeit, die sie importieren, etwa react/jsx-runtime. Elide liefert kein UI-Framework und kein DOM.

npm-Pakete

Deklarieren Sie Abhängigkeiten in package.json. Ein einfaches elide install überspringt npm, übergeben Sie daher --ecosystems=npm:

{
  "type": "module",
  "dependencies": { "zod": "3.24.1" }
}
// app.ts
import { z } from "zod";

const User = z.object({ name: z.string() });
console.log(`Hello, ${User.parse({ name: "Ada" }).name}!`);
elide install --ecosystems=npm
elide run app.ts
0:12 / 0:12

Pakete landen in node_modules. Hat das Projekt auch Maven-Abhängigkeiten, verwenden Sie --ecosystems=maven,npm oder --workspace. Lockfiles und Optionen: npm-Installer.

Tests

elide test findet *.test.ts, *.spec.js, Dateien unter test/ und Ähnliches. Schreiben Sie Tests mit node:test:

// math.test.ts
import test from "node:test";
import assert from "node:assert";

test("adds", () => {
  assert.equal(1 + 1, 2);
});
elide test

Server

elide serve --no-tui ./dist # static files on 127.0.0.1:8080
elide dev --no-tui ./src    # port 3000; pages reload on change

Erhalten serve und dev ein Skript, führen sie es aus; ein Modul, das einen fetch-Handler exportiert, wird direkt bereitgestellt. Siehe Entwicklungsserver.

Beispiele

Weiteres

Implementierte Node- und Web-Module: API-Übersicht. Treiber für SQLite, PostgreSQL und MySQL: Datenbanken. Gemessene Ergebnisse: Kompatibilitätsmatrix. Traces, Metriken und Logs über @opentelemetry/api, ohne SDK: OpenTelemetry in JavaScript.

War diese Seite hilfreich?