Skip to content

Latest commit

 

History

History
135 lines (106 loc) · 4 KB

File metadata and controls

135 lines (106 loc) · 4 KB
title Запускайте JavaScript будь‑де
layout home

Запускайте JavaScript будь‑де

Node.js® — це безплатне, кросплатформне середовище виконання JavaScript із відкритим кодом,
яке дозволяє розробникам створювати сервери, вебзастосунки, інструменти командного рядка та скрипти.
{({ release }) => ( <> Завантажити Node.js (LTS) Завантажує Node.js {release.versionWithPrefix} 1 із довгостроковою підтримкою. Node.js також можна встановити через менеджери версій. )}
<WithNodeRelease status={['Current']}>
  {({ release }) => (
    <small>
      Хочете отримати нові функції швидше?
      Завантажте <b>Node.js <DownloadLink release={release}>{release.versionWithPrefix}</DownloadLink></b>
      <sup title="Downloads a Node.js installer for your current platform">1</sup>.
    </small>
  )}
</WithNodeRelease>
```js displayName="Create an HTTP Server" // server.mjs import { createServer } from 'node:http';
const server = createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello World!\n');
});

// starts a simple http server locally on port 3000
server.listen(3000, '127.0.0.1', () => {
  console.log('Listening on 127.0.0.1:3000');
});

// run with `node server.mjs`
```

```js displayName="Write Tests"
// tests.mjs
import assert from 'node:assert';
import test from 'node:test';

test('that 1 is equal 1', () => {
  assert.strictEqual(1, 1);
});

test('that throws as 1 is not equal 2', () => {
  // throws an exception because 1 != 2
  assert.strictEqual(1, 2);
});

// run with `node tests.mjs`
```

```js displayName="Read and Hash a File"
// crypto.mjs
import { createHash } from 'node:crypto';
import { readFile } from 'node:fs/promises';

const hasher = createHash('sha1');

hasher.setEncoding('hex');
// ensure you have a `package.json` file for this test!
hasher.write(await readFile('package.json'));
hasher.end();

const fileHash = hasher.read();

// run with `node crypto.mjs`
```

```js displayName="Streams Pipeline"
// streams.mjs
import { pipeline } from 'node:stream/promises';
import { createReadStream, createWriteStream } from 'node:fs';
import { createGzip } from 'node:zlib';

// ensure you have a `package.json` file for this test!
await pipeline
(
  createReadStream('package.json'),
  createGzip(),
  createWriteStream('package.json.gz')
);

// run with `node streams.mjs`
```

```js displayName="Work with Threads"
// threads.mjs
import { Worker, isMainThread,
  workerData, parentPort } from 'node:worker_threads';

if (isMainThread) {
  const data = 'some data';
  const worker = new Worker(import.meta.filename, { workerData: data });
  worker.on('message', msg => console.log('Reply from Thread:', msg));
} else {
  const source = workerData;
  parentPort.postMessage(btoa(source.toUpperCase()));
}

// run with `node threads.mjs`
```

Дізнайтеся більше про можливості Node.js із нашими навчальними матеріалами.