@@ -45,87 +46,93 @@ layout: home
// 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`
- ```
+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`
+```
+
Apprenez-en plus sur ce que Node.js est capable d'offrir avec notre [Matériel d'apprentissage](/learn).
+
diff --git a/apps/site/pages/id/about/branding.mdx b/apps/site/pages/id/about/branding.mdx
index 0f782936e515..609e46191e54 100644
--- a/apps/site/pages/id/about/branding.mdx
+++ b/apps/site/pages/id/about/branding.mdx
@@ -9,7 +9,13 @@ Harap tinjau [kebijakan merek dagang](https://trademark-policy.openjsf.org/) unt
## Maskot Node.js
-memverifikasi SHASUMS yang ditandat
Lihat semua opsi unduh Node.js yang tersedia
Pelajari tentang Rilis Node.js
+
diff --git a/apps/site/pages/id/download/prebuilt-installer/index.mdx b/apps/site/pages/id/download/prebuilt-installer/index.mdx
index 87541e7cfcce..de6d49485cbc 100644
--- a/apps/site/pages/id/download/prebuilt-installer/index.mdx
+++ b/apps/site/pages/id/download/prebuilt-installer/index.mdx
@@ -22,4 +22,5 @@ Pelajari cara memverifikasi SHASUMS yang ditandat
Lihat semua opsi unduh Node.js yang tersedia
Pelajari tentang Rilis Node.js
+
diff --git a/apps/site/pages/id/download/source-code/current.mdx b/apps/site/pages/id/download/source-code/current.mdx
index 9752fa9e466a..0979f0795113 100644
--- a/apps/site/pages/id/download/source-code/current.mdx
+++ b/apps/site/pages/id/download/source-code/current.mdx
@@ -20,4 +20,5 @@ Baca pos artikel untuk versi ini
Pelajari cara memverifikasi SHASUMS yang ditandatangani
Lihat bagaimana cara membangun Node.js dari sumber.
+
diff --git a/apps/site/pages/id/download/source-code/index.mdx b/apps/site/pages/id/download/source-code/index.mdx
index 9752fa9e466a..0979f0795113 100644
--- a/apps/site/pages/id/download/source-code/index.mdx
+++ b/apps/site/pages/id/download/source-code/index.mdx
@@ -20,4 +20,5 @@ Baca pos artikel untuk versi ini
Pelajari cara memverifikasi SHASUMS yang ditandatangani
Lihat bagaimana cara membangun Node.js dari sumber.
+
diff --git a/apps/site/pages/id/index.mdx b/apps/site/pages/id/index.mdx
index 9da20d625dc3..b7ca646a0b6a 100644
--- a/apps/site/pages/id/index.mdx
+++ b/apps/site/pages/id/index.mdx
@@ -9,7 +9,8 @@ layout: home
Jalankan JavaScript Di Mana Saja
- Node.js® adalah lingkungan runtime JavaScript gratis dan sumber terbuka yang lintas platform, yang memungkinkan pengembang membuat server, aplikasi web, alat baris perintah, dan skrip.
+Node.js® adalah lingkungan runtime JavaScript gratis dan sumber terbuka yang lintas platform, yang memungkinkan pengembang membuat server, aplikasi web, alat baris perintah, dan skrip.
+
@@ -44,87 +45,93 @@ layout: home
// 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`
- ```
+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`
+```
+
Pelajari lebih lanjut tentang apa yang bisa ditawarkan Node.js melalui [Bahan Pembelajaran](/learn) kami.
+
diff --git a/apps/site/pages/ja/about/branding.mdx b/apps/site/pages/ja/about/branding.mdx
index 19800ec1a151..70bfbb817e3a 100644
--- a/apps/site/pages/ja/about/branding.mdx
+++ b/apps/site/pages/ja/about/branding.mdx
@@ -9,7 +9,13 @@ Node.jsのロゴやシンボルマークの許可されている利用方法に
## Node.js®マスコット
-
+
## Node.js®ロゴ
diff --git a/apps/site/pages/ja/about/index.mdx b/apps/site/pages/ja/about/index.mdx
index 7f5bc663529e..00c987a077ad 100644
--- a/apps/site/pages/ja/about/index.mdx
+++ b/apps/site/pages/ja/about/index.mdx
@@ -14,13 +14,13 @@ const hostname = '127.0.0.1';
const port = 3000;
const server = createServer((req, res) => {
-res.statusCode = 200;
-res.setHeader('Content-Type', 'text/plain');
-res.end('Hello World');
+ res.statusCode = 200;
+ res.setHeader('Content-Type', 'text/plain');
+ res.end('Hello World');
});
server.listen(port, hostname, () => {
-console.log(`Server running at http://${hostname}:${port}/`);
+ console.log(`Server running at http://${hostname}:${port}/`);
});
```
@@ -31,13 +31,13 @@ const hostname = '127.0.0.1';
const port = 3000;
const server = createServer((req, res) => {
-res.statusCode = 200;
-res.setHeader('Content-Type', 'text/plain');
-res.end('Hello World');
+ res.statusCode = 200;
+ res.setHeader('Content-Type', 'text/plain');
+ res.end('Hello World');
});
server.listen(port, hostname, () => {
-console.log(`Server running at http://${hostname}:${port}/`);
+ console.log(`Server running at http://${hostname}:${port}/`);
});
```
diff --git a/apps/site/pages/ja/download/package-manager/current.mdx b/apps/site/pages/ja/download/package-manager/current.mdx
index 557eedab76bc..81bc85396d4f 100644
--- a/apps/site/pages/ja/download/package-manager/current.mdx
+++ b/apps/site/pages/ja/download/package-manager/current.mdx
@@ -13,11 +13,17 @@ subtitle: 好きな方法でNode.jsをダウンロードできます。
Node.jsはを同梱しています。
-このバージョンに関する変更点を確認する。
+このバージョン
+に関する変更点を確認する。
-このバージョンに関するブログ記事を確認する。
+このバージョン
+に関するブログ記事を確認する。
-署名済みSHASUMSの検証方法を確認する。
+
+ 署名済みSHASUMSの検証方法
+
+を確認する。
コミュニティーによってサポートされているその他のパッケージマネージャーを確認する。
+
diff --git a/apps/site/pages/ja/download/package-manager/index.mdx b/apps/site/pages/ja/download/package-manager/index.mdx
index e25fe7b54013..9235e0c26895 100644
--- a/apps/site/pages/ja/download/package-manager/index.mdx
+++ b/apps/site/pages/ja/download/package-manager/index.mdx
@@ -13,11 +13,17 @@ subtitle: 好きな方法でNode.jsをダウンロードできます。
Node.jsはを同梱しています。
-このバージョンに関する変更点を確認する。
+このバージョン
+に関する変更点を確認する。
-このバージョンに関するブログ記事を確認する。
+このバージョン
+に関するブログ記事を確認する。
-署名済みSHASUMSの検証方法を確認する。
+
+ 署名済みSHASUMSの検証方法
+
+を確認する。
コミュニティーによってサポートされているその他のパッケージマネージャーを確認する。
+
diff --git a/apps/site/pages/ja/download/prebuilt-binaries/current.mdx b/apps/site/pages/ja/download/prebuilt-binaries/current.mdx
index 197b5bcfcbbd..5219eba62824 100644
--- a/apps/site/pages/ja/download/prebuilt-binaries/current.mdx
+++ b/apps/site/pages/ja/download/prebuilt-binaries/current.mdx
@@ -13,11 +13,16 @@ subtitle: 好きな方法でNode.jsをダウンロードできます。
Node.jsはを同梱しています。
-このバージョンの変更点を確認する。
+このバージョン
+の変更点を確認する。
-このバージョンに関するブログ記事を確認する。
+このバージョン
+に関するブログ記事を確認する。
-署名済みSHASUMSの検証方法を確認する。
+
+ 署名済みSHASUMSの検証方法
+
+を確認する。
ナイトリービルドや他のプラットフォーム用の非公式のビルドがあります。
diff --git a/apps/site/pages/ja/download/prebuilt-installer/current.mdx b/apps/site/pages/ja/download/prebuilt-installer/current.mdx
index 0ce06feb9781..800de822c8fb 100644
--- a/apps/site/pages/ja/download/prebuilt-installer/current.mdx
+++ b/apps/site/pages/ja/download/prebuilt-installer/current.mdx
@@ -13,11 +13,16 @@ subtitle: 好きな方法でNode.jsをダウンロードできます。
Node.jsはを同梱しています。
-このバージョンの変更点を確認する。
+このバージョン
+の変更点を確認する。
-このバージョンに関するブログ記事を確認する。
+このバージョン
+に関するブログ記事を確認する。
-署名済みSHASUMSの検証方法を確認する。
+
+ 署名済みSHASUMSの検証方法
+
+を確認する。
すべてのダウンロードオプションを確認する。
diff --git a/apps/site/pages/ja/download/prebuilt-installer/index.mdx b/apps/site/pages/ja/download/prebuilt-installer/index.mdx
index 0ce06feb9781..800de822c8fb 100644
--- a/apps/site/pages/ja/download/prebuilt-installer/index.mdx
+++ b/apps/site/pages/ja/download/prebuilt-installer/index.mdx
@@ -13,11 +13,16 @@ subtitle: 好きな方法でNode.jsをダウンロードできます。
Node.jsはを同梱しています。
-このバージョンの変更点を確認する。
+このバージョン
+の変更点を確認する。
-このバージョンに関するブログ記事を確認する。
+このバージョン
+に関するブログ記事を確認する。
-署名済みSHASUMSの検証方法を確認する。
+
+ 署名済みSHASUMSの検証方法
+
+を確認する。
すべてのダウンロードオプションを確認する。
diff --git a/apps/site/pages/ja/download/source-code/current.mdx b/apps/site/pages/ja/download/source-code/current.mdx
index 2b6bac346de3..2d5e3c07bd22 100644
--- a/apps/site/pages/ja/download/source-code/current.mdx
+++ b/apps/site/pages/ja/download/source-code/current.mdx
@@ -13,11 +13,17 @@ Node.js のソースコードをダウンロードす
Node.jsはを同梱しています。
-このバージョンの変更点を確認する。
+このバージョン
+の変更点を確認する。
-このバージョンに関するブログ記事を確認する。
+このバージョン
+に関するブログ記事を確認する。
-署名済みSHASUMSの検証方法を確認する。
+
+ 署名済みSHASUMSの検証方法
+
+を確認する。
ソースコードからNode.jsをビルドする方法を確認する。
+
diff --git a/apps/site/pages/ja/download/source-code/index.mdx b/apps/site/pages/ja/download/source-code/index.mdx
index 2b6bac346de3..2d5e3c07bd22 100644
--- a/apps/site/pages/ja/download/source-code/index.mdx
+++ b/apps/site/pages/ja/download/source-code/index.mdx
@@ -13,11 +13,17 @@ Node.js のソースコードをダウンロードす
Node.jsはを同梱しています。
-このバージョンの変更点を確認する。
+このバージョン
+の変更点を確認する。
-このバージョンに関するブログ記事を確認する。
+このバージョン
+に関するブログ記事を確認する。
-署名済みSHASUMSの検証方法を確認する。
+
+ 署名済みSHASUMSの検証方法
+
+を確認する。
ソースコードからNode.jsをビルドする方法を確認する。
+
diff --git a/apps/site/pages/ja/index.mdx b/apps/site/pages/ja/index.mdx
index b332eb3fc605..ba34b86b0c6c 100644
--- a/apps/site/pages/ja/index.mdx
+++ b/apps/site/pages/ja/index.mdx
@@ -9,7 +9,8 @@ layout: home
Run JavaScript Everywhere
- Node.js®は自由かつオープンソースでクロスプラットフォームに対応したJavaScript実行環境です。開発者にサーバー、ウェブアプリ、コマンドラインツール、スクリプトの開発環境を提供します。
+Node.js®は自由かつオープンソースでクロスプラットフォームに対応したJavaScript実行環境です。開発者にサーバー、ウェブアプリ、コマンドラインツール、スクリプトの開発環境を提供します。
+
@@ -44,87 +45,93 @@ layout: home
// 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`
- ```
+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`
+```
+
私たちの[学習教材](/learn)でNode.jsでできることをさらに学んでみましょう。
+
diff --git a/apps/site/pages/ko/download/source-code/index.mdx b/apps/site/pages/ko/download/source-code/index.mdx
index 9a427adba9db..b43f6026650b 100644
--- a/apps/site/pages/ko/download/source-code/index.mdx
+++ b/apps/site/pages/ko/download/source-code/index.mdx
@@ -15,9 +15,12 @@ Node.js에는 이 포함되어 있습니다.
변경된 사항은 다음을 참고하세요. 이 버전
-이 버전에 대한 블로그 포스트를 확인합니다.
+이 버전에 대한 블로그 포스트를
+확인합니다.
-SHA 서명 확인라는 방법을 배워보세요.
+SHA 서명 확인라는
+방법을 배워보세요.
코드에서 Node.js를 빌드하는 법을 확인해보세요.
+
diff --git a/apps/site/pages/ko/index.mdx b/apps/site/pages/ko/index.mdx
index e98a3225a94e..7fb3d0a27bbe 100644
--- a/apps/site/pages/ko/index.mdx
+++ b/apps/site/pages/ko/index.mdx
@@ -9,7 +9,8 @@ layout: home
어디서든 JavaScript를 실행하세요!!
- Node.js®는 무료, 오픈소스, 크로스플랫폼 JavaSript 런타임 환경으로 개발자 여러분이 서버, 웹 앱, 커맨드 작성 도구와 스크립트를 만들도록 해줍니다.
+Node.js®는 무료, 오픈소스, 크로스플랫폼 JavaSript 런타임 환경으로 개발자 여러분이 서버, 웹 앱, 커맨드 작성 도구와 스크립트를 만들도록 해줍니다.
+
@@ -44,87 +45,93 @@ layout: home
// 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`
- ```
+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에 대해 더 알고 싶다면 학습 자료를 확인하세요[Learning materials](/learn).
+
diff --git a/apps/site/pages/pt/about/branding.mdx b/apps/site/pages/pt/about/branding.mdx
index 464ff2946224..9e20fdf437a4 100644
--- a/apps/site/pages/pt/about/branding.mdx
+++ b/apps/site/pages/pt/about/branding.mdx
@@ -9,7 +9,13 @@ Consultar a [política de marcas registadas](https://trademark-policy.openjsf.or
## Mascote da Node.js®
-
+
## Logótipo da Node.js®
diff --git a/apps/site/pages/pt/about/index.mdx b/apps/site/pages/pt/about/index.mdx
index daaab4881380..5a9795a95a8a 100644
--- a/apps/site/pages/pt/about/index.mdx
+++ b/apps/site/pages/pt/about/index.mdx
@@ -14,13 +14,13 @@ const hostname = '127.0.0.1';
const port = 3000;
const server = createServer((req, res) => {
-res.statusCode = 200;
-res.setHeader('Content-Type', 'text/plain');
-res.end('Hello World');
+ res.statusCode = 200;
+ res.setHeader('Content-Type', 'text/plain');
+ res.end('Hello World');
});
server.listen(port, hostname, () => {
-console.log(`Server running at http://${hostname}:${port}/`);
+ console.log(`Server running at http://${hostname}:${port}/`);
});
```
@@ -31,13 +31,13 @@ const hostname = '127.0.0.1';
const port = 3000;
const server = createServer((req, res) => {
-res.statusCode = 200;
-res.setHeader('Content-Type', 'text/plain');
-res.end('Hello World');
+ res.statusCode = 200;
+ res.setHeader('Content-Type', 'text/plain');
+ res.end('Hello World');
});
server.listen(port, hostname, () => {
-console.log(`Server running at http://${hostname}:${port}/`);
+ console.log(`Server running at http://${hostname}:${port}/`);
});
```
diff --git a/apps/site/pages/pt/about/security-reporting.mdx b/apps/site/pages/pt/about/security-reporting.mdx
index 70272eaf6154..184f4b990d64 100644
--- a/apps/site/pages/pt/about/security-reporting.mdx
+++ b/apps/site/pages/pt/about/security-reporting.mdx
@@ -50,8 +50,15 @@ Se tivermos sugestões sobre como este processo poderia ser melhorado, podemos s
## Boas Práticas da OpenSSF
-
-
+
+
distintivo de boas práticas da “Open Source Security Foundation (OpenSSF)” é uma maneira de os projetos de Software Livre e de Código Aberto (FLOSS) mostrarem que seguem as boas práticas. Os projetos podem certificar-se voluntariamente como seguem cada uma das boas práticas. Os consumidores do distintivo podem avaliar rapidamente quais os projetos FLOSS que seguem as boas práticas e, consequentemente, têm maior probabilidade de produzir software seguro de superior qualidade.
diff --git a/apps/site/pages/pt/download/package-manager/current.mdx b/apps/site/pages/pt/download/package-manager/current.mdx
index 6a2b31fc5ee3..5da09b77522c 100644
--- a/apps/site/pages/pt/download/package-manager/current.mdx
+++ b/apps/site/pages/pt/download/package-manager/current.mdx
@@ -20,4 +20,5 @@ Ler a publicação do blogue desta versãoverificar o SHASUMS assinado
Consultar outros gestores de pacote suportados da comunidade
+
diff --git a/apps/site/pages/pt/download/package-manager/index.mdx b/apps/site/pages/pt/download/package-manager/index.mdx
index 04f0e12e2b75..6772ace86659 100644
--- a/apps/site/pages/pt/download/package-manager/index.mdx
+++ b/apps/site/pages/pt/download/package-manager/index.mdx
@@ -20,4 +20,5 @@ Ler a publicação do blogue desta versãoverificar o SHASUMS assinado
Consultar outros desta versãoverificar o SHASUMS assinado
Consultar os binários pré-compilados Noturnos ou Compilações Não Oficiais para outras plataformas
+
diff --git a/apps/site/pages/pt/download/prebuilt-installer/current.mdx b/apps/site/pages/pt/download/prebuilt-installer/current.mdx
index 46e3189fb9a0..4f5ddee39b50 100644
--- a/apps/site/pages/pt/download/prebuilt-installer/current.mdx
+++ b/apps/site/pages/pt/download/prebuilt-installer/current.mdx
@@ -22,4 +22,5 @@ Saber como verificar o SHASUMS assinado opções de descarga disponíveis da Node.js
Saber mais sobre os Lançamentos da Node.js
+
diff --git a/apps/site/pages/pt/download/prebuilt-installer/index.mdx b/apps/site/pages/pt/download/prebuilt-installer/index.mdx
index 722c3eb7d230..22ef2c0d72f2 100644
--- a/apps/site/pages/pt/download/prebuilt-installer/index.mdx
+++ b/apps/site/pages/pt/download/prebuilt-installer/index.mdx
@@ -22,4 +22,5 @@ Saber como verificar o SHASUMS assinado opções de descarga disponíveis da Node.js
Saber mais sobre os Lançamentos da Node.js
+
diff --git a/apps/site/pages/pt/download/source-code/current.mdx b/apps/site/pages/pt/download/source-code/current.mdx
index 435dce066cf0..c65b0284f74c 100644
--- a/apps/site/pages/pt/download/source-code/current.mdx
+++ b/apps/site/pages/pt/download/source-code/current.mdx
@@ -20,4 +20,5 @@ Ler a publicação do blogue desta versãoverificar o SHASUMS assinado
Consultar como compilar a Node.js a partir do código-fonte.
+
diff --git a/apps/site/pages/pt/download/source-code/index.mdx b/apps/site/pages/pt/download/source-code/index.mdx
index 435dce066cf0..c65b0284f74c 100644
--- a/apps/site/pages/pt/download/source-code/index.mdx
+++ b/apps/site/pages/pt/download/source-code/index.mdx
@@ -20,4 +20,5 @@ Ler a publicação do blogue desta versãoverificar o SHASUMS assinado
Consultar como compilar a Node.js a partir do código-fonte.
+
diff --git a/apps/site/pages/pt/index.mdx b/apps/site/pages/pt/index.mdx
index 8310b9ce783b..3b0d913dfe3c 100644
--- a/apps/site/pages/pt/index.mdx
+++ b/apps/site/pages/pt/index.mdx
@@ -9,7 +9,8 @@ layout: home
Executar a JavaScript em Toda Parte
- Node.js® é uma ambiente de execução de JavaScript disponível para várias plataformas, de código aberto e gratuita, que permite os programadores criar servidores, aplicações da Web, ferramentas de linha de comando e programas de automação de tarefas.
+Node.js® é uma ambiente de execução de JavaScript disponível para várias plataformas, de código aberto e gratuita, que permite os programadores criar servidores, aplicações da Web, ferramentas de linha de comando e programas de automação de tarefas.
+
@@ -44,87 +45,93 @@ layout: home
// 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`
- ```
+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`
+```
+
Podemos saber mais do que a Node.js é capaz de oferecer com os nossos [materiais de aprendizado](/learn).
+
diff --git a/apps/site/pages/uk/about/branding.mdx b/apps/site/pages/uk/about/branding.mdx
index 88d36b0f8477..28175cd78649 100644
--- a/apps/site/pages/uk/about/branding.mdx
+++ b/apps/site/pages/uk/about/branding.mdx
@@ -9,7 +9,13 @@ layout: about
## Маскот Node.js®
-
+
## Логотип Node.js®
diff --git a/apps/site/pages/uk/about/index.mdx b/apps/site/pages/uk/about/index.mdx
index fb37ec83a9ea..733472c03fbd 100644
--- a/apps/site/pages/uk/about/index.mdx
+++ b/apps/site/pages/uk/about/index.mdx
@@ -14,13 +14,13 @@ const hostname = '127.0.0.1';
const port = 3000;
const server = createServer((req, res) => {
-res.statusCode = 200;
-res.setHeader('Content-Type', 'text/plain');
-res.end('Hello World');
+ res.statusCode = 200;
+ res.setHeader('Content-Type', 'text/plain');
+ res.end('Hello World');
});
server.listen(port, hostname, () => {
-console.log(`Server running at http://${hostname}:${port}/`);
+ console.log(`Server running at http://${hostname}:${port}/`);
});
```
@@ -31,13 +31,13 @@ const hostname = '127.0.0.1';
const port = 3000;
const server = createServer((req, res) => {
-res.statusCode = 200;
-res.setHeader('Content-Type', 'text/plain');
-res.end('Hello World');
+ res.statusCode = 200;
+ res.setHeader('Content-Type', 'text/plain');
+ res.end('Hello World');
});
server.listen(port, hostname, () => {
-console.log(`Server running at http://${hostname}:${port}/`);
+ console.log(`Server running at http://${hostname}:${port}/`);
});
```
diff --git a/apps/site/pages/uk/about/security-reporting.mdx b/apps/site/pages/uk/about/security-reporting.mdx
index 94e72ebd933f..c710284b2385 100644
--- a/apps/site/pages/uk/about/security-reporting.mdx
+++ b/apps/site/pages/uk/about/security-reporting.mdx
@@ -51,8 +51,15 @@ layout: about
## Найкращі практики OpenSSF
-
-
+
+
[Значок за найкращі практики](https://github.com/coreinfrastructure/best-practices-badge) від Open Source Security Foundation (OpenSSF) — це спосіб для проєктів із відкритим кодом (Free/Libre and Open Source Software, FLOSS) показати, що вони дотримуються найкращих практик. Проєкти можуть самостійно описати, як вони дотримуються кожної практики. Користувачі можуть швидко оцінити, які проєкти FLOSS дотримуються найкращих практик і, як результат, створювати безпечне ПЗ кращої якості.
diff --git a/apps/site/pages/uk/download/package-manager/current.mdx b/apps/site/pages/uk/download/package-manager/current.mdx
index e06eefd5275e..b51fd9e8490c 100644
--- a/apps/site/pages/uk/download/package-manager/current.mdx
+++ b/apps/site/pages/uk/download/package-manager/current.mdx
@@ -20,4 +20,5 @@ Node.js містить .
Дізнайтеся, як перевірити підписані SHASUMS
Перегляньте інші менеджери пакетів, які підтримуються спільнотою
+
diff --git a/apps/site/pages/uk/download/package-manager/index.mdx b/apps/site/pages/uk/download/package-manager/index.mdx
index e06eefd5275e..b51fd9e8490c 100644
--- a/apps/site/pages/uk/download/package-manager/index.mdx
+++ b/apps/site/pages/uk/download/package-manager/index.mdx
@@ -20,4 +20,5 @@ Node.js містить .
Дізнайтеся, як перевірити підписані SHASUMS
Перегляньте інші менеджери пакетів, які підтримуються спільнотою
+
diff --git a/apps/site/pages/uk/download/prebuilt-binaries/current.mdx b/apps/site/pages/uk/download/prebuilt-binaries/current.mdx
index 33842da48963..4f4a4e904552 100644
--- a/apps/site/pages/uk/download/prebuilt-binaries/current.mdx
+++ b/apps/site/pages/uk/download/prebuilt-binaries/current.mdx
@@ -20,4 +20,5 @@ Node.js містить .
Дізнайтеся, як перевірити підписані SHASUMS
Перегляньте бінарні файли нічних збірок або неофіційні збірки для інших платформ
+
diff --git a/apps/site/pages/uk/download/prebuilt-binaries/index.mdx b/apps/site/pages/uk/download/prebuilt-binaries/index.mdx
index d6d853812541..ea3e7f7417f7 100644
--- a/apps/site/pages/uk/download/prebuilt-binaries/index.mdx
+++ b/apps/site/pages/uk/download/prebuilt-binaries/index.mdx
@@ -20,4 +20,5 @@ Node.js містить .
Дізнайтеся, як перевірити підписані SHASUMS.
Перегляньте бінарні файли нічних збірок, усі бінарні файли релізу або неофіційні збірки для інших платформ.
+
diff --git a/apps/site/pages/uk/download/prebuilt-installer/current.mdx b/apps/site/pages/uk/download/prebuilt-installer/current.mdx
index 9d05ac839472..50abaaf235f4 100644
--- a/apps/site/pages/uk/download/prebuilt-installer/current.mdx
+++ b/apps/site/pages/uk/download/prebuilt-installer/current.mdx
@@ -22,4 +22,5 @@ Node.js містить .
Перегляньте всі доступні опції завантаження Node.js
Дізнайтеся більше про релізи Node.js
+
diff --git a/apps/site/pages/uk/download/prebuilt-installer/index.mdx b/apps/site/pages/uk/download/prebuilt-installer/index.mdx
index e629c6d55999..ee370f641fe1 100644
--- a/apps/site/pages/uk/download/prebuilt-installer/index.mdx
+++ b/apps/site/pages/uk/download/prebuilt-installer/index.mdx
@@ -22,4 +22,5 @@ Node.js містить .
Перегляньте всі доступні опції завантаження Node.js
Дізнайтеся більше про релізи Node.js
+
diff --git a/apps/site/pages/uk/download/source-code/current.mdx b/apps/site/pages/uk/download/source-code/current.mdx
index 34019ec4b1d1..298aa7b150d1 100644
--- a/apps/site/pages/uk/download/source-code/current.mdx
+++ b/apps/site/pages/uk/download/source-code/current.mdx
@@ -20,4 +20,5 @@ Node.js містить .
Дізнайтеся, як перевірити підписані SHASUMS
Дізнайтеся, як зібрати Node.js із вихідного коду.
+
diff --git a/apps/site/pages/uk/download/source-code/index.mdx b/apps/site/pages/uk/download/source-code/index.mdx
index e314d2418b0d..1493d3c29b2c 100644
--- a/apps/site/pages/uk/download/source-code/index.mdx
+++ b/apps/site/pages/uk/download/source-code/index.mdx
@@ -20,4 +20,5 @@ Node.js містить .
Дізнайтеся, як перевірити підписані SHASUMS
Дізнайтеся, як зібрати Node.js із вихідного коду.
+
diff --git a/apps/site/pages/uk/index.mdx b/apps/site/pages/uk/index.mdx
index e72f35a210c3..4e4bf73d5184 100644
--- a/apps/site/pages/uk/index.mdx
+++ b/apps/site/pages/uk/index.mdx
@@ -9,7 +9,8 @@ layout: home
Запускайте JavaScript будь-де
- Node.js® — це безплатне, кросплатформне середовище виконання JavaScript із відкритим кодом, яке дозволяє розробникам створювати сервери, вебзастосунки, інструменти командного рядка та скрипти.
+Node.js® — це безплатне, кросплатформне середовище виконання JavaScript із відкритим кодом, яке дозволяє розробникам створювати сервери, вебзастосунки, інструменти командного рядка та скрипти.
+
@@ -44,87 +45,93 @@ layout: home
// 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`
- ```
+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 із [нашими навчальними матеріалами](/learn).
+
diff --git a/apps/site/pages/zh-cn/about/branding.mdx b/apps/site/pages/zh-cn/about/branding.mdx
index fe67d7c17a55..c830dd83acee 100644
--- a/apps/site/pages/zh-cn/about/branding.mdx
+++ b/apps/site/pages/zh-cn/about/branding.mdx
@@ -9,7 +9,13 @@ Node.js 的品牌化
## Node.js® 吉祥物
-
+
## Node.js® Logo
diff --git a/apps/site/pages/zh-cn/about/index.mdx b/apps/site/pages/zh-cn/about/index.mdx
index cd3daeb14bba..47b787ffa40d 100644
--- a/apps/site/pages/zh-cn/about/index.mdx
+++ b/apps/site/pages/zh-cn/about/index.mdx
@@ -14,13 +14,13 @@ const hostname = '127.0.0.1';
const port = 3000;
const server = createServer((req, res) => {
-res.statusCode = 200;
-res.setHeader('Content-Type', 'text/plain');
-res.end('Hello World');
+ res.statusCode = 200;
+ res.setHeader('Content-Type', 'text/plain');
+ res.end('Hello World');
});
server.listen(port, hostname, () => {
-console.log(`Server running at http://${hostname}:${port}/`);
+ console.log(`Server running at http://${hostname}:${port}/`);
});
```
@@ -31,13 +31,13 @@ const hostname = '127.0.0.1';
const port = 3000;
const server = createServer((req, res) => {
-res.statusCode = 200;
-res.setHeader('Content-Type', 'text/plain');
-res.end('Hello World');
+ res.statusCode = 200;
+ res.setHeader('Content-Type', 'text/plain');
+ res.end('Hello World');
});
server.listen(port, hostname, () => {
-console.log(`Server running at http://${hostname}:${port}/`);
+ console.log(`Server running at http://${hostname}:${port}/`);
});
```
@@ -51,7 +51,7 @@ Node.js 在设计上受到了诸如 Ruby 的 [Event Machine][] 和 Python 的 [T
HTTP 在 Node.js 中是第一类公民,设计时考虑了流式传输和低延迟。这使得 Node.js 非常适合作为 Web 库或框架的基础。
-Node.js 的设计没有线程并不意味着您不能利用环境中的多个核心。可以使用我们的 [child\_process.fork()](https://nodejs.org/docs/latest/api/child_process.html#child_processforkmodulepath-args-options) API 来生成子进程,并且设计得易于通信。建立在同一接口之上的是 [cluster](https://nodejs.org/docs/latest/api/cluster.html) 模块,它允许您在进程之间共享套接字,从而实现对核心的负载均衡。
+Node.js 的设计没有线程并不意味着您不能利用环境中的多个核心。可以使用我们的 [child_process.fork()](https://nodejs.org/docs/latest/api/child_process.html#child_processforkmodulepath-args-options) API 来生成子进程,并且设计得易于通信。建立在同一接口之上的是 [cluster](https://nodejs.org/docs/latest/api/cluster.html) 模块,它允许您在进程之间共享套接字,从而实现对核心的负载均衡。
[blocking vs. non-blocking]: /learn/asynchronous-work/overview-of-blocking-vs-non-blocking
[`child_process.fork()`]: https://nodejs.org/api/child_process.html
diff --git a/apps/site/pages/zh-cn/about/security-reporting.mdx b/apps/site/pages/zh-cn/about/security-reporting.mdx
index e0ec739c92aa..fafe4d90c5ce 100644
--- a/apps/site/pages/zh-cn/about/security-reporting.mdx
+++ b/apps/site/pages/zh-cn/about/security-reporting.mdx
@@ -50,8 +50,15 @@ Node.js 项目为安全研究人员和负责任的公开披露提供官方漏洞
## OpenSSF 最佳实践
-
-
+
+
开源安全基金会(OpenSSF)[最佳实践徽章](https://github.com/coreinfrastructure/best-practices-badge) 是自由/自由和开源软件(FLOSS)项目展示他们遵循最佳实践的一种方式。 项目可以自愿地自我认证他们如何遵循每个最佳实践。 徽章的使用者可以快速评估哪些 FLOSS 项目正在遵循最佳实践,因此更有可能产生更高质量的安全软件。
diff --git a/apps/site/pages/zh-cn/download/package-manager/current.mdx b/apps/site/pages/zh-cn/download/package-manager/current.mdx
index 9341d37d0813..c59483b9d967 100644
--- a/apps/site/pages/zh-cn/download/package-manager/current.mdx
+++ b/apps/site/pages/zh-cn/download/package-manager/current.mdx
@@ -20,4 +20,5 @@ Node.js 已包含 。
学习如何 验证签名的 SHASUMS。
查看其他社区支持的 软件包管理器。
+
diff --git a/apps/site/pages/zh-cn/download/package-manager/index.mdx b/apps/site/pages/zh-cn/download/package-manager/index.mdx
index 2635be29b19c..99400408c129 100644
--- a/apps/site/pages/zh-cn/download/package-manager/index.mdx
+++ b/apps/site/pages/zh-cn/download/package-manager/index.mdx
@@ -20,4 +20,5 @@ Node.js 包含
学习如何 验证签名的 SHASUMS。
查看其他社区支持的 软件包管理器。
+
diff --git a/apps/site/pages/zh-cn/download/prebuilt-binaries/current.mdx b/apps/site/pages/zh-cn/download/prebuilt-binaries/current.mdx
index 0cbf779cfbf3..19df1eff32f9 100644
--- a/apps/site/pages/zh-cn/download/prebuilt-binaries/current.mdx
+++ b/apps/site/pages/zh-cn/download/prebuilt-binaries/current.mdx
@@ -20,4 +20,5 @@ Node.js 已包含 。
学习如何 验证签名的 SHASUMS。
查看 Nightly 的预编译二进制文件或者适用于其他平台的 非官方构建 版本
+
diff --git a/apps/site/pages/zh-cn/download/prebuilt-binaries/index.mdx b/apps/site/pages/zh-cn/download/prebuilt-binaries/index.mdx
index a83f8ed533a1..8ffabcc6b334 100644
--- a/apps/site/pages/zh-cn/download/prebuilt-binaries/index.mdx
+++ b/apps/site/pages/zh-cn/download/prebuilt-binaries/index.mdx
@@ -20,4 +20,5 @@ Node.js 已包含 。
学习如何 验证签名的 SHASUMS。
查看 Nightly 的预编译二进制文件,所有 Release 预编译二进制文件,或者适用于其他平台的 非官方构建 版本.
+
diff --git a/apps/site/pages/zh-cn/download/prebuilt-installer/current.mdx b/apps/site/pages/zh-cn/download/prebuilt-installer/current.mdx
index fe549f888796..1dc0c7a4887d 100644
--- a/apps/site/pages/zh-cn/download/prebuilt-installer/current.mdx
+++ b/apps/site/pages/zh-cn/download/prebuilt-installer/current.mdx
@@ -22,4 +22,5 @@ Node.js 已包含 。
查看所有可用的 Node.js 下载选项。
了解 Node.js 版本
+
diff --git a/apps/site/pages/zh-cn/download/prebuilt-installer/index.mdx b/apps/site/pages/zh-cn/download/prebuilt-installer/index.mdx
index fe549f888796..1dc0c7a4887d 100644
--- a/apps/site/pages/zh-cn/download/prebuilt-installer/index.mdx
+++ b/apps/site/pages/zh-cn/download/prebuilt-installer/index.mdx
@@ -22,4 +22,5 @@ Node.js 已包含 。
查看所有可用的 Node.js 下载选项。
了解 Node.js 版本
+
diff --git a/apps/site/pages/zh-cn/download/source-code/current.mdx b/apps/site/pages/zh-cn/download/source-code/current.mdx
index 902404188aaf..4c8c17a39128 100644
--- a/apps/site/pages/zh-cn/download/source-code/current.mdx
+++ b/apps/site/pages/zh-cn/download/source-code/current.mdx
@@ -20,4 +20,5 @@ Node.js 已包含 。
学习如何 验证签名的 SHASUMS。
查看如何从源代码构建 Node.js。
+
diff --git a/apps/site/pages/zh-cn/download/source-code/index.mdx b/apps/site/pages/zh-cn/download/source-code/index.mdx
index a25a1e1b1161..79c96f973038 100644
--- a/apps/site/pages/zh-cn/download/source-code/index.mdx
+++ b/apps/site/pages/zh-cn/download/source-code/index.mdx
@@ -20,4 +20,5 @@ Node.js 已包含 。
学习如何 验证签名的 SHASUMS。
查看如何从源代码构建 Node.js。
+
diff --git a/apps/site/pages/zh-cn/index.mdx b/apps/site/pages/zh-cn/index.mdx
index 6805a9ce9f5d..8b6a9ad0caa3 100644
--- a/apps/site/pages/zh-cn/index.mdx
+++ b/apps/site/pages/zh-cn/index.mdx
@@ -9,7 +9,8 @@ layout: home
在任何地方运行 JavaScript
- Node.js® 是一个免费、开源、跨平台的 JavaScript 运行时环境,它让开发人员能够创建服务器、Web 应用、命令行工具和脚本。
+Node.js® 是一个免费、开源、跨平台的 JavaScript 运行时环境,它让开发人员能够创建服务器、Web 应用、命令行工具和脚本。
+
@@ -44,87 +45,93 @@ layout: home
// 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`
- ```
+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`
+```
+
通过我们的[学习资料](/learn)了解 Node.js 。
+
diff --git a/apps/site/pages/zh-tw/about/branding.mdx b/apps/site/pages/zh-tw/about/branding.mdx
index 2f35950adc2d..3f8ae48f8962 100644
--- a/apps/site/pages/zh-tw/about/branding.mdx
+++ b/apps/site/pages/zh-tw/about/branding.mdx
@@ -9,7 +9,13 @@ Node.js 的品牌形象
## Node.js 吉祥物
-
+
## Node.js® 標誌
diff --git a/apps/site/pages/zh-tw/about/index.mdx b/apps/site/pages/zh-tw/about/index.mdx
index b297aa2df0fb..81b70befaa62 100644
--- a/apps/site/pages/zh-tw/about/index.mdx
+++ b/apps/site/pages/zh-tw/about/index.mdx
@@ -14,13 +14,13 @@ const hostname = '127.0.0.1';
const port = 3000;
const server = createServer((req, res) => {
-res.statusCode = 200;
-res.setHeader('Content-Type', 'text/plain');
-res.end('Hello World');
+ res.statusCode = 200;
+ res.setHeader('Content-Type', 'text/plain');
+ res.end('Hello World');
});
server.listen(port, hostname, () => {
-console.log(`Server running at http://${hostname}:${port}/`);
+ console.log(`Server running at http://${hostname}:${port}/`);
});
```
@@ -31,13 +31,13 @@ const hostname = '127.0.0.1';
const port = 3000;
const server = createServer((req, res) => {
-res.statusCode = 200;
-res.setHeader('Content-Type', 'text/plain');
-res.end('Hello World');
+ res.statusCode = 200;
+ res.setHeader('Content-Type', 'text/plain');
+ res.end('Hello World');
});
server.listen(port, hostname, () => {
-console.log(`Server running at http://${hostname}:${port}/`);
+ console.log(`Server running at http://${hostname}:${port}/`);
});
```
diff --git a/apps/site/pages/zh-tw/about/security-reporting.mdx b/apps/site/pages/zh-tw/about/security-reporting.mdx
index 634022e514d6..7f41b4ba9fce 100644
--- a/apps/site/pages/zh-tw/about/security-reporting.mdx
+++ b/apps/site/pages/zh-tw/about/security-reporting.mdx
@@ -51,8 +51,15 @@ Node.js 專案為安全研究人員和盡責公開揭露設立了官方漏洞獎
## OpenSSF 最佳實踐
-
-
+
+
開源安全基金會 (OpenSSF) [最佳實踐徽章](https://github.com/coreinfrastructure/best-practices-badge)的意義是為奉行最佳實踐的自由/開源軟體 (FLOSS) 專案提供背書。專案可以自發認證每項最佳實踐的遵循情況,徽章的使用者則可以快速評估哪些 FLOSS 專案確實遵循最佳實踐,因此更有可能產出安全又高品質的軟體。
diff --git a/apps/site/pages/zh-tw/download/package-manager/current.mdx b/apps/site/pages/zh-tw/download/package-manager/current.mdx
index f569fb0c6c0f..4ff53d5b588e 100644
--- a/apps/site/pages/zh-tw/download/package-manager/current.mdx
+++ b/apps/site/pages/zh-tw/download/package-manager/current.mdx
@@ -20,4 +20,5 @@ Node.js 內含 。
瞭解如何驗證已簽署的 SHASUMS
查看其他社群支援的套件管理器
+
diff --git a/apps/site/pages/zh-tw/download/package-manager/index.mdx b/apps/site/pages/zh-tw/download/package-manager/index.mdx
index f569fb0c6c0f..4ff53d5b588e 100644
--- a/apps/site/pages/zh-tw/download/package-manager/index.mdx
+++ b/apps/site/pages/zh-tw/download/package-manager/index.mdx
@@ -20,4 +20,5 @@ Node.js 內含 。
瞭解如何驗證已簽署的 SHASUMS
查看其他社群支援的套件管理器
+
diff --git a/apps/site/pages/zh-tw/download/prebuilt-binaries/current.mdx b/apps/site/pages/zh-tw/download/prebuilt-binaries/current.mdx
index 6da04279f08f..1889a774bc4f 100644
--- a/apps/site/pages/zh-tw/download/prebuilt-binaries/current.mdx
+++ b/apps/site/pages/zh-tw/download/prebuilt-binaries/current.mdx
@@ -20,4 +20,5 @@ Node.js 內含 。
瞭解如何驗證已簽署的 SHASUMS
查看其他平台的每日預建構二進制文件或非官方建構版本
+
diff --git a/apps/site/pages/zh-tw/download/prebuilt-binaries/index.mdx b/apps/site/pages/zh-tw/download/prebuilt-binaries/index.mdx
index 8afaeff1cb56..2a208b48376e 100644
--- a/apps/site/pages/zh-tw/download/prebuilt-binaries/index.mdx
+++ b/apps/site/pages/zh-tw/download/prebuilt-binaries/index.mdx
@@ -20,4 +20,5 @@ Node.js 內含 。
瞭解如何驗證已簽署的 SHASUMS。
查看其他平台的每日預建構二進制檔案、所有版本建建構二進制檔案或非官方建構檔案。
+
diff --git a/apps/site/pages/zh-tw/download/prebuilt-installer/current.mdx b/apps/site/pages/zh-tw/download/prebuilt-installer/current.mdx
index 73e2df802441..3093a495af0a 100644
--- a/apps/site/pages/zh-tw/download/prebuilt-installer/current.mdx
+++ b/apps/site/pages/zh-tw/download/prebuilt-installer/current.mdx
@@ -22,4 +22,5 @@ Node.js 內含 。
查看所有 Node.js 的下載選項
檢視 Node.js 版本清單
+
diff --git a/apps/site/pages/zh-tw/download/prebuilt-installer/index.mdx b/apps/site/pages/zh-tw/download/prebuilt-installer/index.mdx
index 73e2df802441..3093a495af0a 100644
--- a/apps/site/pages/zh-tw/download/prebuilt-installer/index.mdx
+++ b/apps/site/pages/zh-tw/download/prebuilt-installer/index.mdx
@@ -22,4 +22,5 @@ Node.js 內含 。
查看所有 Node.js 的下載選項
檢視 Node.js 版本清單
+
diff --git a/apps/site/pages/zh-tw/download/source-code/current.mdx b/apps/site/pages/zh-tw/download/source-code/current.mdx
index 6262b4fc2aaf..66421f326582 100644
--- a/apps/site/pages/zh-tw/download/source-code/current.mdx
+++ b/apps/site/pages/zh-tw/download/source-code/current.mdx
@@ -20,4 +20,5 @@ Node.js 內含 。
瞭解如何驗證已簽署的 SHASUMS
探索如何從原始碼建構 Node.js
+
diff --git a/apps/site/pages/zh-tw/download/source-code/index.mdx b/apps/site/pages/zh-tw/download/source-code/index.mdx
index 6262b4fc2aaf..66421f326582 100644
--- a/apps/site/pages/zh-tw/download/source-code/index.mdx
+++ b/apps/site/pages/zh-tw/download/source-code/index.mdx
@@ -20,4 +20,5 @@ Node.js 內含 。
瞭解如何驗證已簽署的 SHASUMS
探索如何從原始碼建構 Node.js
+
diff --git a/apps/site/pages/zh-tw/index.mdx b/apps/site/pages/zh-tw/index.mdx
index 78a1c0b0c9c8..0a9fac05cf65 100644
--- a/apps/site/pages/zh-tw/index.mdx
+++ b/apps/site/pages/zh-tw/index.mdx
@@ -9,7 +9,8 @@ layout: home
隨時隨地執行 JavaScript
- Node.js® 是一款免費的跨平台開源 JavaScript 執行環境,供開發者建立伺服器、網頁應用程式、命令列工具與腳本。
+Node.js® 是一款免費的跨平台開源 JavaScript 執行環境,供開發者建立伺服器、網頁應用程式、命令列工具與腳本。
+
@@ -44,87 +45,93 @@ layout: home
// 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`
- ```
+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`
+```
+
我們提供大量[學習資源](/learn),探索 Node.js 的無限潛能。
+