Перейти к содержимому

JavaScript и TypeScript в Elide

Запускайте JavaScript и TypeScript в Elide без компиляции и без tsconfig.json: CommonJS и ES-модули, пакеты npm, тесты node:test и серверы.

На этой странице
Open in ChatGPTOpen in Claude

Elide запускает JavaScript и TypeScript напрямую, с поддержкой CommonJS, ES-модулей и части API Node и Web.

TypeScript запускается как есть

Ни компиляции, ни tsconfig.json: elide app.ts запускает файл.

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

Расширения: .js, .mjs, .cjs, .jsx, .ts, .mts, .cts, .tsx. JSX и TSX преобразуются; установите среду выполнения, которую они импортируют, например react/jsx-runtime. Elide не предоставляет ни UI-фреймворка, ни DOM.

Пакеты npm

Объявите зависимости в package.json. elide install без флагов пропускает npm, поэтому передайте --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

Пакеты устанавливаются в node_modules. Если в проекте есть и зависимости Maven, используйте --ecosystems=maven,npm или --workspace. Lock-файлы и параметры: Установщик npm.

Тесты

elide test находит *.test.ts, *.spec.js, файлы в test/ и подобные. Пишите тесты с node:test:

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

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

Серверы

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

Если передать скрипт, serve и dev запускают его; модуль, который экспортирует обработчик fetch, обслуживается напрямую. См. Сервер разработки.

Примеры

Подробнее

Реализованные модули Node и Web: Обзор API. Драйверы SQLite, PostgreSQL и MySQL: Базы данных. Результаты измерений: Матрица совместимости. Трассировки, метрики и логи через @opentelemetry/api, без SDK: OpenTelemetry в JavaScript.

Была ли эта страница полезной?