diff --git a/apps/site/pages/fa/about/branding.mdx b/apps/site/pages/fa/about/branding.mdx index 12df45e484a4..f32e9d8e175f 100644 --- a/apps/site/pages/fa/about/branding.mdx +++ b/apps/site/pages/fa/about/branding.mdx @@ -9,7 +9,13 @@ layout: about ## Node.js® Mascot -Node.js mascot +Node.js mascot ## لوگو Node.js®‎ diff --git a/apps/site/pages/fa/about/index.mdx b/apps/site/pages/fa/about/index.mdx index 2d344a52bed7..1bc8bbe99714 100644 --- a/apps/site/pages/fa/about/index.mdx +++ b/apps/site/pages/fa/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/fa/about/security-reporting.mdx b/apps/site/pages/fa/about/security-reporting.mdx index 5060752c1d75..ab8dafdc590e 100644 --- a/apps/site/pages/fa/about/security-reporting.mdx +++ b/apps/site/pages/fa/about/security-reporting.mdx @@ -50,8 +50,15 @@ layout: about ## رویه‌های بهینه OpenSSF - -نشان OpenSSF + + نشان OpenSSF [نشان بهترین شیوه ها](https://github.com/coreinfrastructure/best-practices-badge) بنیاد امنیت متن باز (OpenSSF) راهی است برای پروژه‌های نرم‌افزار آزاد/رایگان و متن باز (FLOSS) تا نشان دهند که از رویه‌های بهینه پیروی می‌کنند. پروژه‌ها می‌توانند به صورت داوطلبانه خود تأیید کنند که چگونه از هر رویه بهینه پیروی می‌کنند. مصرف‌کنندگان این نشان می‌توانند به سرعت ارزیابی کنند که کدام پروژه‌های FLOSS از رویه‌های بهینه پیروی می‌کنند و در نتیجه احتمال بیشتری دارد که نرم‌افزارهای امن با کیفیت بالاتر تولید کنند. diff --git a/apps/site/pages/fa/download/package-manager/current.mdx b/apps/site/pages/fa/download/package-manager/current.mdx index ad7d5aa15364..2fac9d78fe9a 100644 --- a/apps/site/pages/fa/download/package-manager/current.mdx +++ b/apps/site/pages/fa/download/package-manager/current.mdx @@ -20,4 +20,5 @@ Node.js شامل است. یاد بگیرید که چگونه امضاهای SHASUMS را تایید کنید دیگر پکیج منیجر ها که توسط جامعه پشتیبانی می‌شوند را ببینید + diff --git a/apps/site/pages/fa/download/package-manager/index.mdx b/apps/site/pages/fa/download/package-manager/index.mdx index 5b3870e5288f..8ad4424230a8 100644 --- a/apps/site/pages/fa/download/package-manager/index.mdx +++ b/apps/site/pages/fa/download/package-manager/index.mdx @@ -20,4 +20,5 @@ Node.js شامل است. یاد بگیرید که چگونه امضاهای SHASUMS را تایید کنید دیگر پکیج منیجر ها که توسط جامعه پشتیبانی می‌شوند را ببینید + diff --git a/apps/site/pages/fa/download/prebuilt-installer/current.mdx b/apps/site/pages/fa/download/prebuilt-installer/current.mdx index 23112cde272f..5fb580d31fa6 100644 --- a/apps/site/pages/fa/download/prebuilt-installer/current.mdx +++ b/apps/site/pages/fa/download/prebuilt-installer/current.mdx @@ -22,4 +22,5 @@ Node.js شامل است. تمام آپشن‌های دانلود Node.js را ببینید درباره Node.js مطالعه کنید + diff --git a/apps/site/pages/fa/download/prebuilt-installer/index.mdx b/apps/site/pages/fa/download/prebuilt-installer/index.mdx index e58e8727f6f5..a74e2634d9e8 100644 --- a/apps/site/pages/fa/download/prebuilt-installer/index.mdx +++ b/apps/site/pages/fa/download/prebuilt-installer/index.mdx @@ -22,4 +22,5 @@ Node.js شامل است. تمام آپشن‌های دانلود Node.js را ببینید درباره Node.js مطالعه کنید + diff --git a/apps/site/pages/fa/download/source-code/current.mdx b/apps/site/pages/fa/download/source-code/current.mdx index 3b5cdd32cd74..25599aa1b2b0 100644 --- a/apps/site/pages/fa/download/source-code/current.mdx +++ b/apps/site/pages/fa/download/source-code/current.mdx @@ -20,4 +20,5 @@ Node.js شامل است. یاد بگیرید که چگونه امضاهای SHASUMS را تایید کنید نحوه ساخت Node.js از سورس کد را ببینید. + diff --git a/apps/site/pages/fa/download/source-code/index.mdx b/apps/site/pages/fa/download/source-code/index.mdx index 3b5cdd32cd74..25599aa1b2b0 100644 --- a/apps/site/pages/fa/download/source-code/index.mdx +++ b/apps/site/pages/fa/download/source-code/index.mdx @@ -20,4 +20,5 @@ Node.js شامل است. یاد بگیرید که چگونه امضاهای SHASUMS را تایید کنید نحوه ساخت Node.js از سورس کد را ببینید. + diff --git a/apps/site/pages/fa/index.mdx b/apps/site/pages/fa/index.mdx index aa2b14dbcaec..57634d9833d1 100644 --- a/apps/site/pages/fa/index.mdx +++ b/apps/site/pages/fa/index.mdx @@ -9,9 +9,10 @@ layout: home

اجرا جاوااسکریپت در همه جا

- Node.js یک محیط اجرای جاوااسکریپت متن‌باز، رایگان و چندسکویی است - که به توسعه دهندگان اجازه می‌دهد تا سرورها، وب اپلیکیشن‌ها - ابزارهای خط فرمان و اسکریپت‌ها را ایجاد کنند. +Node.js یک محیط اجرای جاوااسکریپت متن‌باز، رایگان و چندسکویی است +که به توسعه دهندگان اجازه می‌دهد تا سرورها، وب اپلیکیشن‌ها +ابزارهای خط فرمان و اسکریپت‌ها را ایجاد کنند. +
@@ -46,87 +47,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/fr/about/branding.mdx b/apps/site/pages/fr/about/branding.mdx index bcf1a10d2397..8f96b99a5e5c 100644 --- a/apps/site/pages/fr/about/branding.mdx +++ b/apps/site/pages/fr/about/branding.mdx @@ -9,7 +9,13 @@ Veuillez consulter la [politique en matière de marques](https://trademark-polic ## Mascotte de Node.js® -Mascotte de Node.js +Mascotte de Node.js ## Logo Node.js® diff --git a/apps/site/pages/fr/about/index.mdx b/apps/site/pages/fr/about/index.mdx index 89ec644e63ba..c08e7bff80aa 100644 --- a/apps/site/pages/fr/about/index.mdx +++ b/apps/site/pages/fr/about/index.mdx @@ -17,13 +17,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}/`); }); ``` @@ -34,13 +34,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/fr/about/security-reporting.mdx b/apps/site/pages/fr/about/security-reporting.mdx index ff4c6f333ab9..4209d3c628ec 100644 --- a/apps/site/pages/fr/about/security-reporting.mdx +++ b/apps/site/pages/fr/about/security-reporting.mdx @@ -74,8 +74,15 @@ Si vous avez des suggestions sur la façon dont ce processus pourrait être amé ## OpenSSF Best Practices - -Badge OpenSSF + + Badge OpenSSF Le [badge des meilleures pratiques] de l'Open Source Security Foundation (OpenSSF) (https://github.com/coreinfrastructure/best-practices-badge) est un moyen pour les projets de logiciels libres et open source (FLOSS) de montrer qu'ils suivent les meilleures pratiques. Les projets peuvent volontairement auto-certifier la manière dont ils suivent chaque meilleure pratique. Les utilisateurs du badge peuvent rapidement déterminer quels sont les projets FLOSS qui suivent les meilleures pratiques et qui sont donc plus susceptibles de produire des logiciels sécurisés de meilleure qualité. diff --git a/apps/site/pages/fr/download/package-manager/current.mdx b/apps/site/pages/fr/download/package-manager/current.mdx index 47012d76e402..69f1c75348f9 100644 --- a/apps/site/pages/fr/download/package-manager/current.mdx +++ b/apps/site/pages/fr/download/package-manager/current.mdx @@ -20,4 +20,5 @@ Lire l'article de blog pour cette versionvérifier les SHASUMS signés Consultez d'autres gestionnaires de paquets soutenus par la communauté + diff --git a/apps/site/pages/fr/download/package-manager/index.mdx b/apps/site/pages/fr/download/package-manager/index.mdx index 47012d76e402..69f1c75348f9 100644 --- a/apps/site/pages/fr/download/package-manager/index.mdx +++ b/apps/site/pages/fr/download/package-manager/index.mdx @@ -20,4 +20,5 @@ Lire l'article de blog pour cette versionvérifier les SHASUMS signés Consultez d'autres gestionnaires de paquets soutenus par la communauté + diff --git a/apps/site/pages/fr/download/prebuilt-binaries/current.mdx b/apps/site/pages/fr/download/prebuilt-binaries/current.mdx index 5d387ca24ef7..8bb21316ba7a 100644 --- a/apps/site/pages/fr/download/prebuilt-binaries/current.mdx +++ b/apps/site/pages/fr/download/prebuilt-binaries/current.mdx @@ -20,4 +20,5 @@ Lire l'article de blog pour cette versionvérifier les SHASUMS signés Consultez les binaires préconstruits Nightly ou les Unofficial Builds pour d'autres plateformes. + diff --git a/apps/site/pages/fr/download/prebuilt-binaries/index.mdx b/apps/site/pages/fr/download/prebuilt-binaries/index.mdx index 1f417c815dcd..f6593de1d83b 100644 --- a/apps/site/pages/fr/download/prebuilt-binaries/index.mdx +++ b/apps/site/pages/fr/download/prebuilt-binaries/index.mdx @@ -20,4 +20,5 @@ Lire l'article de blog pour cette versionvérifier les SHASUMS signés. Consultez les binaires préconstruits Nightly, tous les binaires préconstruits Release ou Builds Non Officiels pour les autres plateformes. + diff --git a/apps/site/pages/fr/download/prebuilt-installer/current.mdx b/apps/site/pages/fr/download/prebuilt-installer/current.mdx index a93f56774a6d..451440f6adc9 100644 --- a/apps/site/pages/fr/download/prebuilt-installer/current.mdx +++ b/apps/site/pages/fr/download/prebuilt-installer/current.mdx @@ -22,4 +22,5 @@ Apprenez à vérifier les SHASUMSoptions de téléchargement de Node.js. En savoir plus sur les Versions Node.js + diff --git a/apps/site/pages/fr/download/prebuilt-installer/index.mdx b/apps/site/pages/fr/download/prebuilt-installer/index.mdx index a93f56774a6d..451440f6adc9 100644 --- a/apps/site/pages/fr/download/prebuilt-installer/index.mdx +++ b/apps/site/pages/fr/download/prebuilt-installer/index.mdx @@ -22,4 +22,5 @@ Apprenez à vérifier les SHASUMSoptions de téléchargement de Node.js. En savoir plus sur les Versions Node.js + diff --git a/apps/site/pages/fr/download/source-code/current.mdx b/apps/site/pages/fr/download/source-code/current.mdx index 01098c440050..f7a2f1af7583 100644 --- a/apps/site/pages/fr/download/source-code/current.mdx +++ b/apps/site/pages/fr/download/source-code/current.mdx @@ -20,4 +20,5 @@ Lire l'article de blog pour cette versionvérifier les SHASUMS signés Découvrez comment compiler Node.js à partir des sources. + diff --git a/apps/site/pages/fr/download/source-code/index.mdx b/apps/site/pages/fr/download/source-code/index.mdx index 01098c440050..f7a2f1af7583 100644 --- a/apps/site/pages/fr/download/source-code/index.mdx +++ b/apps/site/pages/fr/download/source-code/index.mdx @@ -20,4 +20,5 @@ Lire l'article de blog pour cette versionvérifier les SHASUMS signés Découvrez comment compiler Node.js à partir des sources. + diff --git a/apps/site/pages/fr/index.mdx b/apps/site/pages/fr/index.mdx index 0d45f38a64b9..54262c84798a 100644 --- a/apps/site/pages/fr/index.mdx +++ b/apps/site/pages/fr/index.mdx @@ -9,8 +9,9 @@ layout: home

Exécuter du JavaScript partout

- Node.js® est un environnement d'exécution JavaScript gratuit, open-source et multiplateforme qui permet aux développeurs de créer des serveurs, des applications web et des applications de gestion de contenu. - qui permet aux développeurs de créer des serveurs, des applications web, des outils en ligne de commande et des scripts. +Node.js® est un environnement d'exécution JavaScript gratuit, open-source et multiplateforme qui permet aux développeurs de créer des serveurs, des applications web et des applications de gestion de contenu. +qui permet aux développeurs de créer des serveurs, des applications web, des outils en ligne de commande et des scripts. +
@@ -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 -Node.js mascot +Node.js mascot ## Logo Node.js® diff --git a/apps/site/pages/id/about/index.mdx b/apps/site/pages/id/about/index.mdx index 3f15ddf32931..bb2d0e29b91e 100644 --- a/apps/site/pages/id/about/index.mdx +++ b/apps/site/pages/id/about/index.mdx @@ -17,13 +17,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}/`); }); ``` @@ -34,13 +34,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}/`); }); ``` @@ -56,13 +56,13 @@ Jika ada yang belum familiar dengan bahasa ini, ada artikel lengkap tentang [Blo --- -Node.js memiliki desain yang mirip dengan, dan dipengaruhi oleh, sistem seperti [Event Machine] [] Ruby dan [Twisted] [] Python. Node.js membawa model acara sedikit lebih jauh. Ini menyajikan loop peristiwa sebagai konstruksi runtime, bukan sebagai perpustakaan. Di sistem lain, selalu ada panggilan pemblokiran untuk memulai perulangan peristiwa. Biasanya, perilaku ditentukan melalui callback di awal skrip, dan di akhir skrip, server dimulai melalui panggilan pemblokiran seperti `EventMachine::run()`. Di Node.js, tidak ada panggilan start-the-event-loop. Node.js cukup memasuki loop acara setelah menjalankan skrip input. Node.js keluar dari loop peristiwa ketika tidak ada lagi callback yang harus dilakukan. Perilaku ini seperti JavaScript browser — loop peristiwa disembunyikan dari pengguna. +Node.js memiliki desain yang mirip dengan, dan dipengaruhi oleh, sistem seperti [Event Machine] \[] Ruby dan \[Twisted] \[] Python. Node.js membawa model acara sedikit lebih jauh. Ini menyajikan loop peristiwa sebagai konstruksi runtime, bukan sebagai perpustakaan. Di sistem lain, selalu ada panggilan pemblokiran untuk memulai perulangan peristiwa. Biasanya, perilaku ditentukan melalui callback di awal skrip, dan di akhir skrip, server dimulai melalui panggilan pemblokiran seperti `EventMachine::run()`. Di Node.js, tidak ada panggilan start-the-event-loop. Node.js cukup memasuki loop acara setelah menjalankan skrip input. Node.js keluar dari loop peristiwa ketika tidak ada lagi callback yang harus dilakukan. Perilaku ini seperti JavaScript browser — loop peristiwa disembunyikan dari pengguna. HTTP adalah warga negara kelas satu di Node.js, dirancang dengan streaming dan rendah latensi dalam pikiran. Ini membuat Node.js sangat cocok untuk fondasi web perpustakaan atau kerangka kerja. -Node.js dirancang tanpa thread bukan berarti Anda tidak dapat memanfaatkan banyak inti di lingkungan Anda. Proses anak dapat dihasilkan dengan menggunakan API child\_process.fork() kami, dan dirancang agar mudah untuk berkomunikasi. Dibangun di atas antarmuka yang sama adalah modul cluster, yang memungkinkan Anda berbagi soket antar proses untuk mengaktifkan penyeimbangan beban pada inti Anda. +Node.js dirancang tanpa thread bukan berarti Anda tidak dapat memanfaatkan banyak inti di lingkungan Anda. Proses anak dapat dihasilkan dengan menggunakan API child_process.fork() kami, dan dirancang agar mudah untuk berkomunikasi. Dibangun di atas antarmuka yang sama adalah modul cluster, yang memungkinkan Anda berbagi soket antar proses untuk mengaktifkan penyeimbangan beban pada inti Anda. [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/id/about/security-reporting.mdx b/apps/site/pages/id/about/security-reporting.mdx index eec7c6747e8c..d2808fcb4b6b 100644 --- a/apps/site/pages/id/about/security-reporting.mdx +++ b/apps/site/pages/id/about/security-reporting.mdx @@ -51,7 +51,11 @@ Jika Anda memiliki saran tentang bagaimana proses ini dapat ditingkatkan, silaka ## Praktik Terbaik OpenSSF -OpenSSF Badge + OpenSSF Badge [Best Practices badge](https://github.com/coreinfrastructure/best-practices-badge) Open Source Security Foundation (OpenSSF) adalah cara bagi proyek Free/Libre dan Open Source Software (FLOSS) untuk menunjukkan bahwa mereka mengikuti praktik terbaik. Proyek dapat secara sukarela melakukan sertifikasi sendiri bagaimana mereka mengikuti setiap praktik terbaik. Konsumen yang tersertifikasi dapat dengan cepat menilai proyek FLOSS mana yang mengikuti praktik terbaik dan sebagai hasilnya, mereka lebih cenderung menghasilkan perangkat lunak aman berkualitas lebih tinggi. diff --git a/apps/site/pages/id/download/package-manager/current.mdx b/apps/site/pages/id/download/package-manager/current.mdx index 7790d81e0105..ee5127dbddfe 100644 --- a/apps/site/pages/id/download/package-manager/current.mdx +++ b/apps/site/pages/id/download/package-manager/current.mdx @@ -20,4 +20,5 @@ Baca pos artikel untuk versi ini Pelajari cara memverifikasi SHASUMS yang ditandatangani Lihat pengelola paket yang didukung komunitas lainnya + diff --git a/apps/site/pages/id/download/package-manager/index.mdx b/apps/site/pages/id/download/package-manager/index.mdx index 7790d81e0105..ee5127dbddfe 100644 --- a/apps/site/pages/id/download/package-manager/index.mdx +++ b/apps/site/pages/id/download/package-manager/index.mdx @@ -20,4 +20,5 @@ Baca pos artikel untuk versi ini Pelajari cara memverifikasi SHASUMS yang ditandatangani Lihat pengelola paket yang didukung komunitas lainnya + diff --git a/apps/site/pages/id/download/prebuilt-binaries/current.mdx b/apps/site/pages/id/download/prebuilt-binaries/current.mdx index 9faa45525bfe..108e566022a2 100644 --- a/apps/site/pages/id/download/prebuilt-binaries/current.mdx +++ b/apps/site/pages/id/download/prebuilt-binaries/current.mdx @@ -20,4 +20,5 @@ Baca pos artikel untuk versi ini Pelajari cara memverifikasi SHASUMS yang ditandatangani Lihat biner pra-dibangun secara Nightly atau Bangunan Tidak Resmi untuk platform lain + diff --git a/apps/site/pages/id/download/prebuilt-binaries/index.mdx b/apps/site/pages/id/download/prebuilt-binaries/index.mdx index 0de7f0c63f52..84edff3032a1 100644 --- a/apps/site/pages/id/download/prebuilt-binaries/index.mdx +++ b/apps/site/pages/id/download/prebuilt-binaries/index.mdx @@ -20,4 +20,5 @@ Baca pos artikel untuk versi ini. Pelajari cara memverifikasi SHASUMS yang ditandatangani. Lihat biner pra-dibangun secara Nightly, semua biner pra-dibangun Rilis, atau Bangunan Tidak Resmi untuk platform lain. + diff --git a/apps/site/pages/id/download/prebuilt-installer/current.mdx b/apps/site/pages/id/download/prebuilt-installer/current.mdx index 87541e7cfcce..de6d49485cbc 100644 --- a/apps/site/pages/id/download/prebuilt-installer/current.mdx +++ b/apps/site/pages/id/download/prebuilt-installer/current.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/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マスコット +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® -Mascote da Node.js +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 da OpenSSF + + Distintivo 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 gestores de pacote suportados da comunidade + diff --git a/apps/site/pages/pt/download/prebuilt-binaries/current.mdx b/apps/site/pages/pt/download/prebuilt-binaries/current.mdx index d78f687a2a57..7d8805c02a7c 100644 --- a/apps/site/pages/pt/download/prebuilt-binaries/current.mdx +++ b/apps/site/pages/pt/download/prebuilt-binaries/current.mdx @@ -20,4 +20,5 @@ Ler a publicação do blogue 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 +Маскот 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 - -Значок OpenSSF + + Значок 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 吉祥物 +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 Badge + + OpenSSF Badge 开源安全基金会(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 吉祥物 +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 徽章 + + 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 的無限潛能。 +