diff --git a/apps/site/i18n/config.json b/apps/site/i18n/config.json index f90457204fed1..a34c595344c83 100644 --- a/apps/site/i18n/config.json +++ b/apps/site/i18n/config.json @@ -306,7 +306,7 @@ "langDir": "ltr", "dateFormat": "YYYY/MM/DD", "hrefLang": "zh-Hant", - "enabled": false, + "enabled": true, "default": false } ] diff --git a/apps/site/i18n/locales/fr.json b/apps/site/i18n/locales/fr.json index bd16abbd69a6a..80fcc13cb2696 100644 --- a/apps/site/i18n/locales/fr.json +++ b/apps/site/i18n/locales/fr.json @@ -290,9 +290,30 @@ "platform": "Plateforme" }, "codeBox": { + "fnmEnvSetup": "configurer l'environnement fnm", "systemManagerWarning": "n'est pas un gestionnaire de paquets Node.js. Veuillez vous assurer que {packageManager} est déjà installé.", "communityWarning": "Les gestionnaires de paquets et leurs scripts d'installation ne sont pas maintenus par le projet Node.js.", - "communityWarningReport": "Si vous rencontrez des problèmes, veuillez contacter les responsables du gestionnaire de paquets." + "communityWarningReport": "Si vous rencontrez des problèmes, veuillez contacter les responsables du gestionnaire de paquets.", + "installsNvm": "installe nvm (Gestionnaire de version node)", + "downloadAndInstallNodejsRestartTerminal": "télécharger et installer Node.js (il peut être nécessaire de redémarrer le terminal)", + "verifiesRightNodejsVersion": "vérifie que la bonne version de Node.js est présente dans l'environnement", + "verifiesRightNpmVersion": "vérifie que la bonne version de npm est présente dans l'environnement", + "shouldPrint": "devrait imprimer `{version}`", + "installsFnm": "installe fnm (Fast Node Manager)", + "downloadAndInstallNodejs": "télécharger et installer Node.js", + "activateFNM": "activer le fnm", + "noteWithColon": "NOTE:", + "dockerIsNotNodejsPackageManager": "Docker n'est pas un gestionnaire de paquets Node.js.", + "PleaseEndureAlreadyInstallOnSystem": "Assurez-vous qu'il est déjà installé sur votre système.", + "dockerInstructions": "Suivez les instructions officielles à l'adresse suivante : https://docs.docker.com/desktop/", + "dockerImagesLink": "Les images Docker sont fournies officiellement à l'adresse https://github.com/nodejs/docker-node/", + "pullsNodejsDockerImage": "tire l'image Docker de Node.js", + "homebrewIsNotNodejsPackageManager": "Homebrew n'est pas un gestionnaire de paquets Node.js.", + "homebrewInstructions": "Suivez les instructions officielles à l'adresse suivante : https://brew.sh/", + "homebrewSupportsIntallingMajorNodejsVersion": "Homebrew ne prend en charge que l'installation des versions majeures de Node.js et peut ne pas prendre en charge la dernière version de Node.js de la ligne de publication {version}.", + "chocolateyIsNotNodejsPackageManager": "Chocolatey n'est pas un gestionnaire de paquets Node.js.", + "chocolateyInstructions": "Suivez les instructions officielles à l'adresse suivante : https://chocolatey.org/", + "chocolateyNotMaintanedByNodejs": "Chocolatey n'est pas officiellement maintenu par le projet Node.js et pourrait ne pas supporter la version {version} de Node.js" } } } diff --git a/apps/site/i18n/locales/id.json b/apps/site/i18n/locales/id.json index 4526a70bdc63d..b2ef1d59ef7a2 100644 --- a/apps/site/i18n/locales/id.json +++ b/apps/site/i18n/locales/id.json @@ -290,9 +290,30 @@ "platform": "Platform" }, "codeBox": { + "fnmEnvSetup": "konfigurasikan lingkungan fnm", "systemManagerWarning": "bukan manajer paket Node.js. Pastikan Anda sudah menginstal {packageManager}.", "communityWarning": "Package manager dan skrip instalasi tidak di kelola oleh Node.js.", - "communityWarningReport": "Jika kamu mengalami masalah, harap hubungi pengelola pengelola paket." + "communityWarningReport": "Jika kamu mengalami masalah, harap hubungi pengelola pengelola paket.", + "installsNvm": "menginstal nvm (Pengelola Versi Node)", + "downloadAndInstallNodejsRestartTerminal": "unduh dan pasang Node.js (anda mungkin perlu memulai ulang terminal)", + "verifiesRightNodejsVersion": "memastikan versi Node.js yang benar ada di lingkungan", + "verifiesRightNpmVersion": "memastikan versi npm yang benar ada di lingkungan", + "shouldPrint": "seharusnya mencetak `{version}`", + "installsFnm": "menginstal fnm (Pengelola Node Cepat)", + "downloadAndInstallNodejs": "unduh dan pasang Node.js", + "activateFNM": "aktifkan fnm", + "noteWithColon": "CATATAN:", + "dockerIsNotNodejsPackageManager": "Docker bukan pengelola paket Node.js.", + "PleaseEndureAlreadyInstallOnSystem": "Silakan pastikan bahwa ia sudah terpasang di sistem Anda.", + "dockerInstructions": "Ikuti instruksi resmi di https://docs.docker.com/desktop/", + "dockerImagesLink": "Gambar Docker disediakan secara resmi di https://github.com/nodejs/docker-node/", + "pullsNodejsDockerImage": "mengambil gambar Docker Node.js", + "homebrewIsNotNodejsPackageManager": "Homebrew bukan pengelola paket Node.js.", + "homebrewInstructions": "Ikuti instruksi resmi di https://brew.sh/", + "homebrewSupportsIntallingMajorNodejsVersion": "Homebrew hanya mendukung pemasangan versi utama Node.js dan mungkin tidak mendukung versi Node.js terbaru dari jalur rilis {version}.", + "chocolateyIsNotNodejsPackageManager": "Chocolatey bukan pengelola paket Node.js.", + "chocolateyInstructions": "Ikuti instruksi resmi di https://chocolatey.org/", + "chocolateyNotMaintanedByNodejs": "Chocolatey tidak secara resmi dikelola oleh proyek Node.js dan mungkin tidak mendukung versi {version} dari Node.js" } } } diff --git a/apps/site/i18n/locales/pt.json b/apps/site/i18n/locales/pt.json index 17d9e8c6541b6..42daa41d6b63b 100644 --- a/apps/site/i18n/locales/pt.json +++ b/apps/site/i18n/locales/pt.json @@ -203,7 +203,7 @@ }, "search": { "searchBox": { - "placeholder": "Digitar..." + "placeholder": "Pesquisar..." }, "seeAll": { "text": "Ver todos os {count} resultados" @@ -290,9 +290,30 @@ "platform": "Plataforma" }, "codeBox": { + "fnmEnvSetup": "configurar o ambiente da fnm", "systemManagerWarning": "não é um gestor de pacote da Node.js. Devemos certificar-nos de que já temos {packageManager} instalado.", "communityWarning": "Os gestores de pacotes e os seus programas de instalação não são mantidos pelo projeto Node.js.", - "communityWarningReport": "Se encontrarmos problemas, devemos dirigir-nos aos responsáveis do gestor de pacote." + "communityWarningReport": "Se encontrarmos problemas, devemos dirigir-nos aos responsáveis do gestor de pacote.", + "installsNvm": "instala a nvm (Node Version Manager, ou Gestor de Pacote de Node)", + "downloadAndInstallNodejsRestartTerminal": "descarregar e instalar a Node.js (podemos precisar de reiniciar o terminal)", + "verifiesRightNodejsVersion": "verifica se a versão correta da Node.js está no ambiente", + "verifiesRightNpmVersion": "verifica se a versão correta da npm está no ambiente", + "shouldPrint": "deve imprimir `{version}`", + "installsFnm": "instala a fnm (Fast Node Manager, ou Gestor Rápido de Node)", + "downloadAndInstallNodejs": "decarregar e instalar a Node.js", + "activateFNM": "ativar a fnm", + "noteWithColon": "NOTA:", + "dockerIsNotNodejsPackageManager": "Docker não é um gestor de pacote da Node.js.", + "PleaseEndureAlreadyInstallOnSystem": "Precisamos de certificar-nos de que já instalada no nosso sistema.", + "dockerInstructions": "Seguir as instruções oficiais em https://docs.docker.com/desktop/", + "dockerImagesLink": "As imagens da Docker são fornecidas oficialmente em https://github.com/nodejs/docker-node/", + "pullsNodejsDockerImage": "puxa a imagem de Docker da Node.js", + "homebrewIsNotNodejsPackageManager": "Homebrew não é um gestor de pacote da Node.js.", + "homebrewInstructions": "Seguir as instruções oficiais em https://brew.sh/", + "homebrewSupportsIntallingMajorNodejsVersion": "Homebrew só suporta instalar versões principais da Node.js e pode não suportar a versão mais recente da Node.js da linha de lançamento {version}.", + "chocolateyIsNotNodejsPackageManager": "Chocolatey não é um gestor de pacote da Node.js.", + "chocolateyInstructions": "Seguir as instruções oficiais em https://chocolatey.org/", + "chocolateyNotMaintanedByNodejs": "Chocolatey não é oficialmente mantida pelo projeto Node.js e pode não suportar a versão {version} da Node.js" } } } diff --git a/apps/site/i18n/locales/zh-tw.json b/apps/site/i18n/locales/zh-tw.json new file mode 100644 index 0000000000000..4d26d44eef683 --- /dev/null +++ b/apps/site/i18n/locales/zh-tw.json @@ -0,0 +1,320 @@ +{ + "components": { + "containers": { + "footer": { + "links": { + "trademarkPolicy": "商標政策", + "privacyPolicy": "隱私政策", + "codeOfConduct": "行為準則", + "security": "安全性政策" + } + }, + "navBar": { + "links": { + "about": "關於", + "download": "下載", + "docs": "文件", + "guides": "指南", + "learn": "學習資源", + "security": "安全性", + "certification": "認證", + "blog": "部落格" + } + } + }, + "navigation": { + "learn": { + "gettingStarted": { + "links": { + "gettingStarted": "開始入門", + "introductionToNodejs": "Node.js 介紹", + "howToInstallNodejs": "如何安裝 Node.js", + "howMuchJavascriptDoYouNeedToKnowToUseNodejs": "使用 Node.js 前,需要掌握多少 JavaScript 知識?", + "differencesBetweenNodejsAndTheBrowser": "Node.js 與瀏覽器的差別", + "theV8JavascriptEngine": "JavaScript V8 引擎", + "anIntroductionToTheNpmPackageManager": "Npm 套件管理器介紹", + "ecmascript2015Es6AndBeyond": "ECMAScript 2015 (ES6) 與更高的版本", + "nodejsTheDifferenceBetweenDevelopmentAndProduction": "Node.js 在開發與生產環境的差別", + "nodejsWithTypescript": "Node.js 搭配 TypeScript", + "nodejsWithWebassembly": "Node.js 搭配 WebAssembly", + "debugging": "Node.js 除錯", + "profiling": "分析 Node.js 應用程式", + "securityBestPractices": "安全最佳實踐" + } + }, + "asynchronousWork": { + "links": { + "asynchronousWork": "非同步工作", + "asynchronousFlowControl": "非同步流程控制", + "overviewOfBlockingVsNonBlocking": "阻塞與非阻塞概述", + "javascriptAsynchronousProgrammingAndCallbacks": "JavaScript 中的非同步與回調函數", + "discoverJavascriptTimers": "探索 JavaScript 計時器", + "eventLoopTimersAndNexttick": "Node.js 中的事件循環", + "theNodejsEventEmitter": "Node.js 中的事件發射器", + "understandingProcessnexttick": "理解 process.nextTick()", + "understandingSetimmediate": "理解 setImmediate()", + "dontBlockTheEventLoop": "請勿阻塞事件循環" + } + }, + "manipulatingFiles": { + "links": { + "manipulatingFiles": "檔案操作", + "nodejsFileStats": "Node.js 中的檔案狀態", + "nodejsFilePaths": "Node.js 中的檔案路徑", + "workingWithFileDescriptorsInNodejs": "在 Node.js 中使用檔案描述符", + "readingFilesWithNodejs": "使用 Node.js 讀取檔案", + "writingFilesWithNodejs": "使用 Node.js 寫入檔案", + "workingWithFoldersInNodejs": "在 Node.js 中操作資料夾", + "workingWithDifferentFilesystems": "如何使用不同的檔案系統" + } + }, + "commandLine": { + "links": { + "commandLine": "命令列", + "runNodejsScriptsFromTheCommandLine": "使用命令列執行 Node.js 腳本", + "howToReadEnvironmentVariablesFromNodejs": "如何從 Node.js 中讀取環境變數", + "howToUseTheNodejsRepl": "如何使用 Node.js REPL", + "outputToTheCommandLineUsingNodejs": "使用 Node.js 輸出到命令列", + "acceptInputFromTheCommandLineInNodejs": "在 Node.js 中接受命令列輸入" + } + }, + "modules": { + "links": { + "modules": "模塊", + "publishingNodeApiModules": "如何釋出 Node-API 套件", + "anatomyOfAnHttpTransaction": "HTTP 事務解析", + "abiStability": "ABI 穩定性", + "backpressuringInStreams": "串流中的背壓機制" + } + }, + "diagnostics": { + "links": { + "diagnostics": "診斷訊息", + "userJourney": "使用者旅程", + "memory": "記憶體", + "liveDebugging": "即時除錯", + "poorPerformance": "低效能", + "flameGraphs": "火焰圖" + } + }, + "testRunner": { + "links": { + "testRunner": "測試執行器", + "introduction": "探索 Node.js 中的測試執行器", + "usingTestRunner": "使用 Node.js 中的測試執行器" + } + } + }, + "about": { + "links": { + "about": "關於 Node.js", + "aboutSide": "關於 Node.js®", + "branding": "Node.js 的品牌形象", + "governance": "專案治理", + "releases": "Node.js 版本", + "security": "安全性回報" + } + }, + "getInvolved": { + "links": { + "getInvolved": "加入我們", + "collabSummit": "協作高峰會", + "upcomingEvents": "近期活動", + "contribute": "為 Node.js 做出貢獻", + "codeOfConduct": "行為準則" + } + } + }, + "downloadList": { + "links": { + "previousReleases": "Node.js 版本", + "packageManager": "使用套件管理器安裝 Node.js", + "shaSums": { + "title": "釋出檔案的已簽署 SHASUM", + "howToVerify": " (如何驗證)" + }, + "allDownloads": "所有下載選項", + "nightlyReleases": "每日建構版本", + "unofficialBuilds": "非官方建構版本", + "buildingFromSource": "在支援的平台上從原始碼建構 Node.js", + "installingOnLinux": "使用二進制存檔安裝 Node.js", + "installingOnWsl": "在適用於 Linux 的 Windows 子系統 (WSL) 上安裝" + } + }, + "downloadReleasesTable": { + "changelog": "更新紀錄", + "releases": "版本釋出", + "docs": "文件" + }, + "pagination": { + "next": "下一頁", + "previous": "上一頁" + }, + "common": { + "breadcrumbs": { + "navigateToHome": "返回首頁" + }, + "crossLink": { + "previous": "上一頁", + "next": "下一頁" + }, + "codebox": { + "copy": "複製到剪貼簿", + "copied": "已複製到剪貼簿!" + }, + "pagination": { + "prev": "上一頁", + "prevAriaLabel": "上一頁", + "next": "下一頁", + "nextAriaLabel": "下一頁", + "defaultLabel": "分頁", + "pageLabel": "前往頁面 {pageNumber}" + }, + "sidebar": { + "title": "變更頁面" + }, + "languageDropdown": { + "label": "選擇語言" + }, + "themeToggle": { + "label": "切換深色模式" + } + }, + "mdx": { + "upcomingEvents": { + "defaultTitle": "近期沒有活動" + } + }, + "metabar": { + "lastUpdated": "最後更新", + "readingTime": "閱讀時長", + "addedIn": "新增於", + "author": "作者", + "authors": "作者", + "contribute": "貢獻", + "contributeText": "編輯此頁面", + "viewAs": "檢視模式", + "tableOfContents": "目錄" + }, + "downloads": { + "changelogModal": { + "startContributing": "開始貢獻" + } + }, + "search": { + "searchBox": { + "placeholder": "開始輸入…" + }, + "seeAll": { + "text": "查看全部 {count} 則結果" + }, + "searchError": { + "text": "搜尋時發生錯誤,請稍後再試。" + }, + "poweredBy": { + "text": "技術支援" + }, + "noResults": { + "text": "找不到任何「{query}」的搜尋結果。" + }, + "emptyState": { + "text": "開始搜尋…" + }, + "searchPage": { + "title": "你正在搜尋:{query}" + } + }, + "blog": { + "blogHeader": { + "subtitle": "最新的 Node.js 動態、案例研究、教學和資源。", + "rssLink": "RSS 訂閱" + } + } + }, + "layouts": { + "blogPost": { + "author": { + "byLine": "{author, select, null {} other {By {author}, }}" + } + }, + "blogIndex": { + "categoryName": "{category, select, all {Blog} other {{category} Blog Posts}}" + }, + "blog": { + "title": "部落格", + "selectCategory": "類別", + "categories": { + "all": "所有內容", + "announcements": "公告", + "release": "版本釋出", + "vulnerability": "漏洞", + "advisory-board": "諮詢委員會", + "community": "社群", + "feature": "功能", + "module": "模塊", + "npm": "npm", + "uncategorized": "未歸類", + "video": "影片", + "weekly": "每週更新", + "wg": "工作小組", + "events": "活動" + } + }, + "error": { + "notFound": { + "title": "找不到頁面", + "description": "很抱歉,查無目標頁面!請從首頁重新開始。" + }, + "internalServerError": { + "title": "內部伺服器錯誤", + "description": "此頁面發生了無法恢復的錯誤。" + }, + "backToHome": "回到首頁" + }, + "download": { + "selectCategory": "類別", + "categories": { + "prebuilt-installer": "預建構安裝程式", + "prebuilt-binaries": "預建構二進制文件", + "package-manager": "套件管理器", + "source-code": "原始碼" + }, + "buttons": { + "prebuilt": "下載 Node.js {version}", + "source": "下載 Node.js {version} 的原始碼" + }, + "dropdown": { + "bitness": "位元數", + "os": "作業系統", + "version": "版本", + "platform": "平台" + }, + "codeBox": { + "fnmEnvSetup": "設定 fnm 環境", + "systemManagerWarning": "不是 Node.js 的套件管理器。請確保你已安裝 {packageManager}。", + "communityWarning": "套件管理器與其安裝腳本並非由 Node.js 專案維護。", + "communityWarningReport": "如果遇到問題,請聯絡套件管理器的維護者。", + "installsNvm": "安裝 nvm (Node 版本管理器)", + "downloadAndInstallNodejsRestartTerminal": "下載並安裝 Node.js (您可能需要重新啟動終端機)", + "verifiesRightNodejsVersion": "驗證環境中正確的 Node.js 版本", + "verifiesRightNpmVersion": "驗證環境中正確的 npm 版本", + "shouldPrint": "應該顯示 `{version}`", + "installsFnm": "安裝 fnm (快速 Node 管理器)", + "downloadAndInstallNodejs": "下載並安裝 Node.js", + "activateFNM": "啟用 fnm", + "noteWithColon": "請注意:", + "dockerIsNotNodejsPackageManager": "Docker 並非 Node.js 套件管理器。", + "PleaseEndureAlreadyInstallOnSystem": "請確保它已經安裝在您的系統上。", + "dockerInstructions": "請前往下列網址並按照官方指示操作:https://docs.docker.com/desktop/", + "dockerImagesLink": "Docker 映像可於 https://github.com/nodejs/docker-node/ 官網取得。", + "pullsNodejsDockerImage": "拉取 Node.js Docker 映像", + "homebrewIsNotNodejsPackageManager": "Homebrew 並非 Node.js 套件管理器。", + "homebrewInstructions": "請前往下列網址並按照官方指示操作:https://brew.sh/", + "homebrewSupportsIntallingMajorNodejsVersion": "Homebrew 僅支援安裝 Node.js 主要版本,並可能不支援 {version} 發行系列的最新 Node.js 版本。", + "chocolateyIsNotNodejsPackageManager": "Chocolatey 並非 Node.js 套件管理器。", + "chocolateyInstructions": "請前往下列網址並按照官方指示操作:https://chocolatey.org/", + "chocolateyNotMaintanedByNodejs": "Chocolatey 並非由 Node.js 專案官方維護,並可能不支援 {version} 版本的 Node.j" + } + } + } +} diff --git a/apps/site/pages/fr/download/prebuilt-binaries/index.mdx b/apps/site/pages/fr/download/prebuilt-binaries/index.mdx index 8bb21316ba7a3..f6593de1d83be 100644 --- a/apps/site/pages/fr/download/prebuilt-binaries/index.mdx +++ b/apps/site/pages/fr/download/prebuilt-binaries/index.mdx @@ -13,12 +13,12 @@ Je veux la version de Node.js pour Node.js inclut . -Lire le journal des modifications pour cette version +Lire le journal des modifications pour cette version. -Lire l'article de blog pour cette version +Lire l'article de blog pour cette version. -Apprenez à vérifier les SHASUMS signés +Apprenez à vérifier les SHASUMS signés. -Consultez les binaires préconstruits Nightly ou les Unofficial Builds pour d'autres plateformes. +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/id/about/governance.md b/apps/site/pages/id/about/governance.md index d7e5643eb0b0b..1dc32b53357f0 100644 --- a/apps/site/pages/id/about/governance.md +++ b/apps/site/pages/id/about/governance.md @@ -7,11 +7,11 @@ layout: about ## Proses Pencarian Kesepakatan -Proyek Node.js mengikuti model pengambilan keputusan [Pencarian Konsensus][]. +Proyek Node.js mengikuti model pengambilan keputusan \[Pencarian Konsensus] \[]. ## Kolaborator -Repositori inti GitHub [nodejs/node][] dikelola oleh Kolaborator +Repositori inti GitHub [nodejs/node] \[] dikelola oleh Kolaborator yang dinominasikan oleh Kolaborator lain yang ada secara berkelanjutan. Individu yang memberikan kontribusi signifikan dan berharga akan dijadikan Kolaborator dan diberikan akses komitmen terhadap proyek. Individu-individu ini diidentifikasi oleh Kolaborator lain dan nominasi mereka didiskusikan dengan Kolaborator yang ada. @@ -22,11 +22,11 @@ Panduan untuk Kolaborator disimpan di [collaborator-guide.md][]. ## Komite Pengarah Teknis -Proyek ini diatur oleh [Komite Pengarah Teknis][] dalam bahasa inggris Technical Steering Committee (TSC) yang bertanggung jawab atas panduan tingkat tinggi proyek. TSC adalah bagian dari Kolaborator aktif yang dinominasikan oleh anggota TSC lain yang sudah ada. +Proyek ini diatur oleh \[Komite Pengarah Teknis]\[] dalam bahasa inggris Technical Steering Committee (TSC) yang bertanggung jawab atas panduan tingkat tinggi proyek. TSC adalah bagian dari Kolaborator aktif yang dinominasikan oleh anggota TSC lain yang sudah ada. -[pencarian konsensus]: https://id.wikipedia.org/wiki/Musyawarah +[consensus seeking]: https://id.wikipedia.org/wiki/Musyawarah [readme.md]: https://github.com/nodejs/node/blob/main/README.md#current-project-team-members [tsc]: https://github.com/nodejs/TSC -[komite pengarah teknis]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md +[technical steering committee (tsc)]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md [collaborator-guide.md]: https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md [nodejs/node]: https://github.com/nodejs/node diff --git a/apps/site/pages/id/about/index.mdx b/apps/site/pages/id/about/index.mdx index b420da357524f..bb2d0e29b91ee 100644 --- a/apps/site/pages/id/about/index.mdx +++ b/apps/site/pages/id/about/index.mdx @@ -56,7 +56,7 @@ 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 @@ -68,4 +68,4 @@ Node.js dirancang tanpa thread bukan berarti Anda tidak dapat memanfaatkan banya [`child_process.fork()`]: https://nodejs.org/api/child_process.html [`cluster`]: https://nodejs.org/api/cluster.html [event machine]: https://github.com/eventmachine/eventmachine -[twisted]: https://twisted.org/ +[berpilin]: https://twisted.org/ diff --git a/apps/site/pages/id/download/prebuilt-binaries/index.mdx b/apps/site/pages/id/download/prebuilt-binaries/index.mdx index 108e566022a22..84edff3032a19 100644 --- a/apps/site/pages/id/download/prebuilt-binaries/index.mdx +++ b/apps/site/pages/id/download/prebuilt-binaries/index.mdx @@ -13,12 +13,12 @@ Saya ingin versi Node.js untuk Node.js disertakan . -Baca log perubahan untuk versi ini +Baca log perubahan untuk versi ini. -Baca pos artikel untuk versi ini +Baca pos artikel untuk versi ini. -Pelajari cara memverifikasi SHASUMS yang ditandatangani +Pelajari cara memverifikasi SHASUMS yang ditandatangani. -Lihat biner pra-dibangun secara Nightly atau Bangunan Tidak Resmi untuk platform lain +Lihat biner pra-dibangun secara Nightly, semua biner pra-dibangun Rilis, atau Bangunan Tidak Resmi untuk platform lain. diff --git a/apps/site/pages/ja/about/index.mdx b/apps/site/pages/ja/about/index.mdx new file mode 100644 index 0000000000000..00c987a077ad0 --- /dev/null +++ b/apps/site/pages/ja/about/index.mdx @@ -0,0 +1,60 @@ +--- +title: Node.js®とは +layout: about +--- + +Node.js®とは + +非同期イベント駆動型のJavaScript実行環境であるNode.jsはスケーラブルなネットワークアプリケーションを構築するために設計されています。次の「hello world」の例では、多数のネットワーク接続を同時に処理できます。各ネットワーク接続時にコールバックが起動されますが、実行する処理がない場合、Node.jsはスリープします。 + +```cjs +const { createServer } = require('node:http'); + +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'); +}); + +server.listen(port, hostname, () => { + console.log(`Server running at http://${hostname}:${port}/`); +}); +``` + +```mjs +import { createServer } from 'node:http'; + +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'); +}); + +server.listen(port, hostname, () => { + console.log(`Server running at http://${hostname}:${port}/`); +}); +``` + +これはOSのスレッドを使用する一般的な同時実行モデルとは対照的です。スレッドベースのネットワーク処理は比較的効率が悪く、使いこなすのが非常に難しくなります。さらにNode.jsではロックがないため、プロセスのデッドロックの心配から解放されます。Node.jsにはI/Oを直接実行する関数がほとんどないため、Node.js標準ライブラリーの同期メソッドを使用してI/Oが実行される場合を除いてプロセスがブロックされることはありません。何もブロックしないNode.jsでスケーラブルなシステムを開発するのは非常に合理的です。 + +もしこの説明が聞き慣れない場合は [Blocking vs. Non-Blocking][] を確認してみてください。 + +--- + +Node.jsはRubyの [Event Machine][] やPythonの [Twisted][] に影響を受けており、似たシステム設計になっています。Node.jsはイベントモデルをもう少し深掘りしています。Node.jsはイベントループをライブラリーとしてではなく実行環境の構成要素として提供します。他のシステムではイベントループを開始するために常にブロック処理の呼び出しがあります。一般的にはスクリプトの最初にコールバックによって振る舞いが定義され、最後に `EventMachine::run()` のようなブロック処理の呼び出しによってサーバーが起動されます。Node.jsにはこのようなイベントループの開始時の呼び出しがありません。Node.jsは入力されたスクリプトを実行したあと、単にイベントループに入ります。Node.jsは実行するコールバックがなくなるとイベントループを終了します。この動作はブラウザー上のJavaScriptと同じでイベントループはユーザーから隠されています。 + +HTTPはNode.jsの中では第一級オブジェクトであり、ストリーミングや低レイテンシーを意識して設計されています。このためNode.jsはウェブのライブラリーやフレームワークの基盤として適しています。 + +Node.jsはスレッドを用いず設計されていますが、マルチコアを利用できないわけではありません。子プロセスは [`child_process.fork()`][] APIを使って作成でき、簡単に通信できるように設計されています。これと同じインターフェイスをもとに作られたのが [`cluster`][] モジュールで、プロセス間でソケットを共有することでコアの負荷分散を行えます。 + +[blocking vs. non-blocking]: /learn/asynchronous-work/overview-of-blocking-vs-non-blocking +[`child_process.fork()`]: https://nodejs.org/api/child_process.html +[`cluster`]: https://nodejs.org/api/cluster.html +[event machine]: https://github.com/eventmachine/eventmachine +[twisted]: https://twisted.org/ diff --git a/apps/site/pages/ja/about/previous-releases.mdx b/apps/site/pages/ja/about/previous-releases.mdx new file mode 100644 index 0000000000000..251c19f344f41 --- /dev/null +++ b/apps/site/pages/ja/about/previous-releases.mdx @@ -0,0 +1,18 @@ +--- +title: Node.js リリース +layout: about +--- + +Node.js リリース + +Node.jsのメジャーバージョンは6か月間\_Current\_ステータスとなり、ライブラリー開発者にサポートを追加する時間を与えます。6か月後、奇数番号のバージョン(9、11など)はサポートが終了し、偶数番号のバージョン(10、12など)が\_Active LTS\_ステータスに移行し、一般公開向けの準備が整います。\_LTS\_ステータスとは「長期間サポート」であり、通常は合計30か月間の重要なバグ修正が保証されます。プロダクションのアプリケーションでは\_Active LTS\_または\_Maintenance LTS\_ステータスのバージョンのみを利用してください。 + +## リリーススケジュール + +![Releases](https://raw.githubusercontent.com/nodejs/Release/main/schedule.svg?sanitize=true) + +Node.jsのリリーススケジュールに関する詳しい情報は[GitHub](https://github.com/nodejs/release#release-schedule)で確認できます。 + +## 各バージョンの最新のリリース + + diff --git a/apps/site/pages/ja/download/prebuilt-binaries/index.mdx b/apps/site/pages/ja/download/prebuilt-binaries/index.mdx index 5219eba628248..c5dd9fc686009 100644 --- a/apps/site/pages/ja/download/prebuilt-binaries/index.mdx +++ b/apps/site/pages/ja/download/prebuilt-binaries/index.mdx @@ -13,16 +13,11 @@ 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 new file mode 100644 index 0000000000000..800de822c8fb2 --- /dev/null +++ b/apps/site/pages/ja/download/prebuilt-installer/current.mdx @@ -0,0 +1,30 @@ +--- +layout: download +title: Node.js®をダウンロードする +subtitle: 好きな方法でNode.jsをダウンロードできます。 +--- + +
+で動作している用のNode.js をダウンロードする。 + + +
+ +
+Node.jsはを同梱しています。 + +このバージョン +の変更点を確認する。 + +このバージョン +に関するブログ記事を確認する。 + + + 署名済みSHASUMSの検証方法 + +を確認する。 + +すべてのダウンロードオプションを確認する。 + +Node.jsのリリースについて学ぶ +
diff --git a/apps/site/pages/ja/download/prebuilt-installer/index.mdx b/apps/site/pages/ja/download/prebuilt-installer/index.mdx new file mode 100644 index 0000000000000..800de822c8fb2 --- /dev/null +++ b/apps/site/pages/ja/download/prebuilt-installer/index.mdx @@ -0,0 +1,30 @@ +--- +layout: download +title: Node.js®をダウンロードする +subtitle: 好きな方法でNode.jsをダウンロードできます。 +--- + +
+で動作している用のNode.js をダウンロードする。 + + +
+ +
+Node.jsはを同梱しています。 + +このバージョン +の変更点を確認する。 + +このバージョン +に関するブログ記事を確認する。 + + + 署名済みSHASUMSの検証方法 + +を確認する。 + +すべてのダウンロードオプションを確認する。 + +Node.jsのリリースについて学ぶ +
diff --git a/apps/site/pages/ko/download/source-code/index.mdx b/apps/site/pages/ko/download/source-code/index.mdx new file mode 100644 index 0000000000000..b43f6026650ba --- /dev/null +++ b/apps/site/pages/ko/download/source-code/index.mdx @@ -0,0 +1,26 @@ +--- +layout: download +title: Node.js® 다운로드 +subtitle: 원하는 방법으로 Node.js를 다운로드 하세요. +--- + +
+원하는 버전 의 Node.js 소스 코드 + + +
+ +
+Node.js에는 이 포함되어 있습니다. + +변경된 사항은 다음을 참고하세요. 이 버전 + +이 버전에 대한 블로그 포스트를 +확인합니다. + +SHA 서명 확인라는 +방법을 배워보세요. + +코드에서 Node.js를 빌드하는 법을 확인해보세요. + +
diff --git a/apps/site/pages/ko/index.mdx b/apps/site/pages/ko/index.mdx new file mode 100644 index 0000000000000..7fb3d0a27bbed --- /dev/null +++ b/apps/site/pages/ko/index.mdx @@ -0,0 +1,137 @@ +--- +title: 어디서든 JavaScript를 실행하세요!! +layout: home +--- + +
+ + +
+

어디서든 JavaScript를 실행하세요!!

+ +Node.js®는 무료, 오픈소스, 크로스플랫폼 JavaSript 런타임 환경으로 개발자 여러분이 서버, 웹 앱, 커맨드 작성 도구와 스크립트를 만들도록 해줍니다. + +
+ +
+ + {({ release }) => ( + <> + Node.js 다운로드 (LTS) + + Node.js 다운로드 {release.versionWithPrefix} + 1 LTS. + Node.js는 package managers를 통해서도 다운로드 할 수 있습니다.. + + + )} + + + + {({ release }) => ( + + 새로운 기능을 먼저 경험하고 싶다면 + Node.js {release.versionWithPrefix} + 1 를 다운 받으세요. + + )} + +
+
+ +
+
+ ```js displayName="Create an HTTP Server" + // server.mjs + import { createServer } from 'node:http'; + +const server = createServer((req, res) => { +res.writeHead(200, { 'Content-Type': 'text/plain' }); +res.end('Hello World!\n'); +}); + +// starts a simple http server locally on port 3000 +server.listen(3000, '127.0.0.1', () => { +console.log('Listening on 127.0.0.1:3000'); +}); + +// run with `node server.mjs` + +```` + +```js displayName="Write Tests" +// tests.mjs +import assert from 'node:assert'; +import test from 'node:test'; + +test('that 1 is equal 1', () => { + assert.strictEqual(1, 1); +}); + +test('that throws as 1 is not equal 2', () => { + // throws an exception because 1 != 2 + assert.strictEqual(1, 2); +}); + +// run with `node tests.mjs` +```` + +```js displayName="Read and Hash a File" +// crypto.mjs +import { createHash } from 'node:crypto'; +import { readFile } from 'node:fs/promises'; + +const hasher = createHash('sha1'); + +hasher.setEncoding('hex'); +// ensure you have a `package.json` file for this test! +hasher.write(await readFile('package.json')); +hasher.end(); + +const fileHash = hasher.read(); + +// run with `node crypto.mjs` +``` + +```js displayName="Streams Pipeline" +// streams.mjs +import { pipeline } from 'node:stream/promises'; +import { createReadStream, createWriteStream } from 'node:fs'; +import { createGzip } from 'node:zlib'; + +// ensure you have a `package.json` file for this test! +await pipeline( + createReadStream('package.json'), + createGzip(), + createWriteStream('package.json.gz') +); + +// run with `node streams.mjs` +``` + +```js displayName="Work with Threads" +// threads.mjs +import { + Worker, + isMainThread, + workerData, + parentPort, +} from 'node:worker_threads'; + +if (isMainThread) { + const data = 'some data'; + const worker = new Worker(import.meta.filename, { workerData: data }); + worker.on('message', msg => console.log('Reply from Thread:', msg)); +} else { + const source = workerData; + parentPort.postMessage(btoa(source.toUpperCase())); +} + +// run with `node threads.mjs` +``` + +
+ +Node.js에 대해 더 알고 싶다면 학습 자료를 확인하세요[Learning materials](/learn). + +
diff --git a/apps/site/pages/ko/search.mdx b/apps/site/pages/ko/search.mdx new file mode 100644 index 0000000000000..e9eaeb4f3fb9e --- /dev/null +++ b/apps/site/pages/ko/search.mdx @@ -0,0 +1,6 @@ +--- +layout: search +title: 검색결과 +--- + + diff --git a/apps/site/pages/uk/about/get-involved/index.md b/apps/site/pages/uk/about/get-involved/index.md index 71e8c0fc64f0d..7d1e0fd9fbd41 100644 --- a/apps/site/pages/uk/about/get-involved/index.md +++ b/apps/site/pages/uk/about/get-involved/index.md @@ -7,11 +7,11 @@ layout: about ## Обговорення спільноти -- [Список проблем на GitHub](https://github.com/nodejs/node/issues) місце для обговорення основної функціональності Node.js. -- Для спілкування про розробку на Node.js в реальному часі скористайтеся однією з наступних платформ - - Для багатокористувацьких конференцій відвідайте `irc.libera.chat` в `#node.js` каналі через [IRC клієнт](https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients) або під'єднайтесь до каналу через браузер використовуючи [вебзастосунок](https://kiwiirc.com/nextclient/) +- [Список проблем на GitHub](https://github.com/nodejs/node/issues) — це місце для обговорення основного функціонала Node.js. +- Для спілкування про розробку Node.js у реальному часі скористайтеся однією з наступних платформ: + - Для IRC перейдіть на `irc.libera.chat` у каналі `#node.js` через [клієнт IRC](https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients) або під'єднайтеся до каналу з веббраузера [через вебклієнт](https://kiwiirc.com/nextclient/) - Для Slack є два варіанти: - - [OpenJSF Slack](https://slack-invite.openjsf.org/) - запущений OpenJS Foundation спільнотою Slack з декількома Node.js каналами(канали з префіксом `#nodejs-` стосуються проєкту). + - [OpenJSF Slack](https://slack-invite.openjsf.org/) — Slack, запущений спільнотою OpenJS Foundation, із декількома каналами Node.js (канали з префіксом `#nodejs-` стосуються цього проєкту). - [Node Slackers](https://www.nodeslackers.com/) — це спільнота Slack із фокусом на Node.js. - Офіційний Twitter Node.js: [nodejs](https://twitter.com/nodejs). - [Календар проєкту Node.js](https://nodejs.org/calendar) з усіма публічними командними зустрічами. @@ -19,8 +19,8 @@ layout: about ## Навчання - [Офіційний розділ навчання](https://nodejs.org/en/learn/) вебсайту Node.js. -- [Офіційна документація по API](https://nodejs.org/api/). +- [Офіційна документація з API](https://nodejs.org/api/). - [NodeSchool.io](https://nodeschool.io/) навчить вас концепцій Node.js за допомогою інтерактивних ігор у командному рядку. -- [Stack Overflow Node.js tag](https://stackoverflow.com/questions/tagged/node.js) щодня збирає нову інформацію. +- [Тег Node.js у Stack Overflow](https://stackoverflow.com/questions/tagged/node.js) щодня збирає нову інформацію. - [Тег Node.js на DEV Community](https://dev.to/t/node) — це місце, де можна ділитися проєктами, статтями та практичними заняттями з Node.js, а також почати обговорення та просити відгуки до тем, пов'язаних із Node.js. До участі запрошуються розробники всіх рівнів. - [Nodeiflux](https://discordapp.com/invite/vUsrbjd) — це дружня спільнота бекенд-розробників Node.js, які підтримують один одного в Discord. diff --git a/apps/site/pages/uk/download/package-manager/all.md b/apps/site/pages/uk/download/package-manager/all.md new file mode 100644 index 0000000000000..6449151423d77 --- /dev/null +++ b/apps/site/pages/uk/download/package-manager/all.md @@ -0,0 +1,422 @@ +--- +layout: download +title: Установка Node.js через менеджер пакетів +--- + +# Установка Node.js через менеджери пакетів + +> Пакети на цій сторінці обслуговуються та підтримуються їхніми відповідними розробниками, **не** командою Node.js. Будь ласка, повідомляйте про проблеми цих пакетів їхнім розробникам. Якщо виявиться, що проблема є помилкою Node.js, то вони повідомлять нас про неї. + +--- + +- [Alpine Linux](#alpine-linux) +- [Android](#android) +- [Arch Linux](#arch-linux) +- [CentOS, Fedora та Red Hat Enterprise Linux](#centos-fedora-and-red-hat-enterprise-linux) +- [Дистрибутиви Linux на базі Debian та Ubuntu](#debian-and-ubuntu-based-linux-distributions) +- [Exherbo Linux](#exherbo-linux) +- [fnm](#fnm) +- [FreeBSD](#freebsd) +- [Gentoo](#gentoo) +- [IBM i](#ibm-i) +- [macOS](#macos) +- [n](#n) +- [NetBSD](#netbsd) +- [Nodenv](#nodenv) +- [nvm](#nvm) +- [nvs](#nvs) +- [OpenBSD](#openbsd) +- [openSUSE та SLE](#opensuse-and-sle) +- [SmartOS та illumos](#smartos-and-illumos) +- [Snap](#snap) +- [Solus](#solus) +- [vfox](#vfox) +- [Void Linux](#void-linux) +- [Windows](#windows-1) +- [z/OS](#zos) + +--- + +## Alpine Linux + +Node.js LTS та пакети npm доступні в головному репозиторії. + +```bash +apk add nodejs npm +``` + +Node.js Current можна встановити через репозиторій спільноти. + +```bash +apk add nodejs-current +``` + +## Android + +Підтримка Android досі є експериментальною в Node.js, тому попередньо скомпільовані бінарні файли ще не надаються розробниками Node.js. + +Однак, є сторонні рішення. Наприклад, спільнота [Termux](https://termux.com/) надає емулятор термінала та середовище Linux для Android, а також власний менеджер пакетів та [великий набір](https://github.com/termux/termux-packages) попередньо скомпільованих застосунків. Ця команда в застосунку Termux установить останню доступну версію Node.js: + +```bash +pkg install nodejs +``` + +Наразі бінарні файли Termux Node.js компонуються із `system-icu` (залежно від пакета `libicu`). + +## Arch Linux + +Node.js та пакети npm доступні в репозиторії спільноти. + +```bash +pacman -S nodejs npm +``` + +## CentOS, Fedora та Red Hat Enterprise Linux + +Node.js доступний як модуль із назвою `nodejs` у CentOS/RHEL 8 та Fedora. + +```bash +dnf module install nodejs: +``` + +де `` — основна версія Node.js. +Щоб побачити список доступних потоків: + +```bash +dnf module list nodejs +``` + +Наприклад, щоб установити Node.js 18: + +```bash +dnf module install nodejs:18/common +``` + +### Альтернативи + +Ці ресурси надають пакети, які сумісні з CentOS, Fedora та RHEL. + +- [Snaps Node.js](#snap) обслуговуються та підтримуються на https://github.com/nodejs/snap +- [Бінарні дистрибутиви Node.js](#debian-and-ubuntu-based-linux-distributions) обслуговуються та підтримуються [NodeSource](https://github.com/nodesource/distributions) + +## Дистрибутиви Linux на базі Debian та Ubuntu + +[Бінарні дистрибутиви Node.js](https://github.com/nodesource/distributions) доступні на NodeSource. + +### Альтернативи + +Пакети, сумісні з дистрибутивами Linux на базі Debian та Ubuntu, доступні на [snaps Node.js](#snap). + +## Exherbo Linux + +Node.js і пакети npm доступні в [репозиторії arbor](https://gitlab.exherbo.org/exherbo/arbor/-/tree/master/packages/dev-lang/node). + +```bash +cave resolve -x node +``` + +## fnm + +Швидкий і простий менеджер версій Node.js, створений на Rust, використовується для керування багатьма випущеними версіями Node.js. Він дозволяє виконувати такі операції, як установка, видалення, автоматична зміна версій Node залежно від поточної директорії тощо. +Щоб установити fnm, використайте [цей скрипт](https://github.com/Schniz/fnm#using-a-script-macoslinux). + +fnm кросплатформний (macOS, Windows, Linux) та підтримує всі популярні оболонки (Bash, Zsh, Fish, PowerShell, командний рядок Windows). +fnm створено з думкою про швидкість та підтримку сумісності для файлів `.node-version` та `.nvmrc`. + +## FreeBSD + +Останній реліз Node.js доступний через порт [www/node](https://www.freshports.org/www/node). + +Установіть бінарний пакет через [pkg](https://www.freebsd.org/cgi/man.cgi?pkg): + +```bash +pkg install node +``` + +Або скомпілюйте його самостійно через [порти](https://www.freebsd.org/cgi/man.cgi?ports): + +```bash +cd /usr/ports/www/node && make install +``` + +## Gentoo + +Node.js доступний у дереві portage. + +```bash +emerge nodejs +``` + +## IBM i + +LTS-версії Node.js доступні від IBM через [менеджер пакетів 'yum'](https://ibm.biz/ibmi-rpms). Назва пакета: `nodejs`, після нього номер основної версії (наприклад, `nodejs18`, `nodejs20` тощо) + +Щоб установити Node.js 20.x з командного рядка, запустіть наступну команду як користувач зі спеціальними повноваженнями \*ALLOBJ: + +```bash +yum install nodejs20 +``` + +Node.js також можна встановити за допомогою продукту «IBM i Access Client Solutions». Перегляньте [цей документ](http://www-01.ibm.com/support/docview.wss?uid=nas8N1022619), щоб дізнатися більше + +## macOS + +Завантажте [інсталятор macOS](/#home-downloadhead) безпосередньо з вебсайту [nodejs.org](https://nodejs.org/). + +_Якщо ви бажаєте завантажити пакет через bash:_ + +```bash +curl "https://nodejs.org/dist/latest/$(curl -s https://nodejs.org/dist/latest/ | grep "pkg" | cut -d'"' -f 2)" -o "$HOME/Downloads/node-latest.pkg" && sudo installer -store -pkg "$HOME/Downloads/node-latest.pkg" -target "/" +``` + +### Альтернативи + +Через **[Homebrew](https://brew.sh/)**: + +```bash +brew install node +``` + +Через **[MacPorts](https://www.macports.org/)**: + +```bash +port install nodejs + +# Example +port install nodejs7 +``` + +Через **[pkgsrc](https://pkgsrc.joyent.com/install-on-macos/)**: + +Установіть бінарний пакет: + +```bash +pkgin -y install nodejs +``` + +Або зберіть уручну з pkgsrc: + +```bash +cd pkgsrc/lang/nodejs && bmake install +``` + +## n + +`n` — простий у використанні менеджер версій Node.js для платформ Mac і Linux. Укажіть цільову версію для встановлення за допомогою розширеного синтаксису або оберіть у меню раніше завантажених версій. Версії встановлюються на рівні системи чи користувача, а для більш цільового використання можна запускати її безпосередньо з кешованих завантажень. + +Відвідайте [головну сторінку](https://github.com/tj/n), щоб дізнатися методи установки (bootstrap, npm, Homebrew, сторонні) та деталі використання. + +Якщо у вас уже є `npm`, то установка `n` та найновішої LTS-версії `node` дуже проста: + +``` +npm install -g n +n lts +``` + +## NetBSD + +Node.js доступний у дереві pkgsrc: + +```bash +cd /usr/pkgsrc/lang/nodejs && make install +``` + +Або встановіть бінарний пакет (якщо доступний для вашої платформи) через pkgin: + +```bash +pkgin -y install nodejs +``` + +## Nodenv + +`nodenv` — легковаговий менеджер версій Node, подібний до `nvm`. Простий та інтуїтивний у використанні. Широка екосистема плагінів дозволяє налаштувати його відповідно до ваших потреб. Використовуйте `nodenv`, щоб обрати версію Node для вашої програми та переконатися, що ваше середовище розробки відповідає клієнтському середовищу. + +Інструкції зі встановлення Nodenv є [на його сторінці Github](https://github.com/nodenv/nodenv#installation). Будь ласка, відвідайте її, щоб використовувати останню версію кроків установки. + +## nvm + +Node Version Manager — це bash-скрипт, що використовується для керування різними випущеними версіями Node.js. Він дозволяє виконувати наступні операції: установка, видалення, зміна версії тощо. Щоб установити nvm, використайте [цей скрипт](https://github.com/nvm-sh/nvm#install--update-script). + +На системах Unix / OS X Node.js, зібраний із вихідного коду, можна встановити за допомогою [nvm](https://github.com/creationix/nvm), установивши в директорію, яку вимагає nvm: + +```bash +env VERSION=`python tools/getnodeversion.py` make install DESTDIR=`nvm_version_path v$VERSION` PREFIX="" +``` + +Після цього ви можете використовувати `nvm`, щоб перемикатися між релізовими версіями та версіями, зібраними з вихідного коду. +Для прикладу, якщо версія Node.js — v8.0.0-pre: + +```bash +nvm use 8 +``` + +Коли вийде офіційний реліз, ви можете видалити версію, зібрану з вихідного коду: + +```bash +nvm uninstall 8 +``` + +## nvs + +#### Windows + +Менеджер версій `nvs` кросплатформний та може використовуватися на Windows, macOS та системах типу Unix + +Щоб установити `nvs` на Windows, перейдіть на [сторінку релізів](https://github.com/jasongin/nvs/releases) і завантажте MSI-інсталятор останнього релізу. + +Ви також можете використати `chocolatey` для установки: + +```bash +choco install nvs +``` + +#### macOS, системи типу Unix + +Ви можете знайти документацію щодо кроків інсталяції `nvs` на macOS та системах типу Unix [тут](https://github.com/jasongin/nvs/blob/master/doc/SETUP.md#mac-linux) + +#### Використання + +Після цього ви можете використовувати `nvs`, щоб перемикатися між різними версіями Node. + +Щоб додати її останню версію: + +```bash +nvs add latest +``` + +Чи додати її останню LTS-версію: + +```bash +nvs add lts +``` + +Тоді запустіть команду `nvs use`, щоб додати версію Node до своєї `PATH` для поточної оболонки: + +```bash +$ nvs use lts +PATH -= %LOCALAPPDATA%\nvs\default +PATH += %LOCALAPPDATA%\nvs\node\14.17.0\x64 +``` + +Щоб додати її до `PATH` назавжди, використайте `nvs link`: + +```bash +nvs link lts +``` + +## OpenBSD + +Node.js доступний через систему портів. + +```bash +/usr/ports/lang/node +``` + +Через [pkg_add](https://man.openbsd.org/OpenBSD-current/man1/pkg_add.1) на OpenBSD: + +```bash +pkg_add node +``` + +## openSUSE та SLE + +Node.js доступний у головних репозиторіях у наступних пакетах: + +- **openSUSE Leap 15.2**: `nodejs10`, `nodejs12`, `nodejs14` +- **openSUSE Tumbleweed**: `nodejs20` +- **SUSE Linux Enterprise Server (SLES) 12**: `nodejs10`, `nodejs12`, and `nodejs14` + (Модуль «Web and Scripting Module» має бути [ввімкнений](https://www.suse.com/releasenotes/x86_64/SUSE-SLES/12-SP5/#intro-modulesExtensionsRelated).) +- **SUSE Linux Enterprise Server (SLES) 15 SP2**: `nodejs10`, `nodejs12`, and `nodejs14` + (Модуль «Web and Scripting Module» має бути [ввімкнений](https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15/#Intro.Module).) + +Для прикладу, щоб встановити Node.js 14.x на openSUSE Leap 15.2, запустіть наступну команду в корені: + +```bash +zypper install nodejs14 +``` + +Можна встановити та використовувати різні основні версії Node одночасно. + +## SmartOS та illumos + +Образи SmartOS мають уже інстальований pkgsrc. Для інших дистрибутивів illumos спершу встановіть **[pkgsrc](https://pkgsrc.joyent.com/install-on-illumos/)**, тоді ви зможете встановити бінарний пакет звичайним чином: + +```bash +pkgin -y install nodejs +``` + +Або зберіть уручну з pkgsrc: + +```bash +cd pkgsrc/lang/nodejs && bmake install +``` + +## Snap + +[Snaps Node.js](https://github.com/nodejs/snap) доступні як [`node`](https://snapcraft.io/node) у крамниці Snap. + +## Solus + +Solus надає Node.js у своєму головному репозиторії. + +```bash +sudo eopkg install nodejs +``` + +## vfox + +Кросплатформний (Windows, macOS, Linux) і **розширюваний** менеджер версій. + +Підтримує **різні версії для різних проєктів**, **різні версії для різних оболонок**, а також дає можливість перемикати версії Node автоматично на основі поточної директорії тощо. + +Підтримує всі популярні оболонки (Bash, Zsh, Fish, PowerShell, Clink, Cmder). + +Перегляньте [швидкий старт](https://vfox.lhan.me/guides/quick-start.html), щоб почати використовувати vfox та дізнатися всі деталі його використання. + +## Void Linux + +Void Linux надає стабільний Node.js в основному репозиторії. + +```bash +xbps-install -Sy nodejs +``` + +## Windows + +Завантажте [інсталятор Windows](/#home-downloadhead) безпосередньо з вебсайту [nodejs.org](https://nodejs.org/). + +### Альтернативи + +Через **[Winget](https://aka.ms/winget-cli)**: + +```bash +winget install OpenJS.NodeJS +# or for LTS +winget install OpenJS.NodeJS.LTS +``` + +Після запуску однієї з двох команд вище, можливо, необхідно буде перезапустити емулятор термінала, перш ніж CLI-команда `node` стане доступною. + +Через **[Chocolatey](https://chocolatey.org/)**: + +```bash +cinst nodejs +# or for full install with npm +cinst nodejs.install +``` + +Через **[Scoop](https://scoop.sh/)**: + +```bash +scoop install nodejs +# or for LTS +scoop install nodejs-lts +``` + +## z/OS + +IBM® SDK для Node.js — z/OS® доступний у двох інсталяційних форматах: +SMP/E та PAX. Оберіть підхожий вам формат: + +- [Установка та налаштування Node.js із SMP/E на z/OS](https://www.ibm.com/docs/en/sdk-nodejs-zos/14.0?topic=configuring-installing-smpe-edition) +- [Установка та налаштування Node.js із PAX на z/OS](https://www.ibm.com/docs/en/sdk-nodejs-zos/14.0?topic=configuring-installing-pax-edition) diff --git a/apps/site/pages/uk/download/package-manager/current.mdx b/apps/site/pages/uk/download/package-manager/current.mdx index 23f84f4a1a8de..b51fd9e8490ce 100644 --- a/apps/site/pages/uk/download/package-manager/current.mdx +++ b/apps/site/pages/uk/download/package-manager/current.mdx @@ -15,7 +15,7 @@ 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 23f84f4a1a8de..b51fd9e8490ce 100644 --- a/apps/site/pages/uk/download/package-manager/index.mdx +++ b/apps/site/pages/uk/download/package-manager/index.mdx @@ -15,7 +15,7 @@ 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 new file mode 100644 index 0000000000000..01e1877a47d1d --- /dev/null +++ b/apps/site/pages/uk/download/prebuilt-binaries/current.mdx @@ -0,0 +1,24 @@ +--- +layout: download +title: Завантаження Node.js® +subtitle: Завантажте Node.js так, як ви бажаєте. +--- + +
+Мені потрібна версія Node.js для розрядності + + +
+ +
+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 new file mode 100644 index 0000000000000..f829dc5736845 --- /dev/null +++ b/apps/site/pages/uk/download/prebuilt-binaries/index.mdx @@ -0,0 +1,24 @@ +--- +layout: download +title: Завантаження Node.js® +subtitle: Завантажте Node.js так, як ви бажаєте. +--- + +
+Мені потрібна версія Node.js для розрядності + + +
+ +
+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 new file mode 100644 index 0000000000000..9b7217bfd6129 --- /dev/null +++ b/apps/site/pages/uk/download/prebuilt-installer/current.mdx @@ -0,0 +1,26 @@ +--- +layout: download +title: Завантаження Node.js® +subtitle: Завантажте Node.js так, як ви бажаєте. +--- + +
+Мені потрібна версія Node.js для розрядності + + +
+ +
+Node.js містить . + +Читайте список змін для цієї версії + +Читайте публікацію в блозі про цю версію + +Дізнайтеся, як перевірити підписані SHASUMS + +Перегляньте всі доступні опції завантаження 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 new file mode 100644 index 0000000000000..ff5860331089b --- /dev/null +++ b/apps/site/pages/uk/download/prebuilt-installer/index.mdx @@ -0,0 +1,26 @@ +--- +layout: download +title: Завантажити Node.js® +subtitle: Завантажте Node.js так, як ви бажаєте. +--- + +
+Мені потрібна Node.js версії для розрядності + + +
+ +
+Node.js містить . + +Читайте список змін для цієї версії + +Читайте публікацію в блозі про цю версію + +Дізнайтеся, як перевірити підписані SHASUMS + +Перегляньте всі доступні опції завантаження 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 c2fb8c2121197..298aa7b150d19 100644 --- a/apps/site/pages/uk/download/source-code/current.mdx +++ b/apps/site/pages/uk/download/source-code/current.mdx @@ -15,7 +15,7 @@ Node.js містить . Читайте список змін для цієї версії -Читайте блог для цієї версії +Читайте публікацію в блозі про цю версію Дізнайтеся, як перевірити підписані SHASUMS diff --git a/apps/site/pages/uk/download/source-code/index.mdx b/apps/site/pages/uk/download/source-code/index.mdx index 3c49438324323..1493d3c29b2cb 100644 --- a/apps/site/pages/uk/download/source-code/index.mdx +++ b/apps/site/pages/uk/download/source-code/index.mdx @@ -15,7 +15,7 @@ Node.js містить . Прочитайте список змін для цієї версії -Прочитайте блог для цієї версії +Читайте публікацію в блозі про цю версію Дізнайтеся, як перевірити підписані SHASUMS diff --git a/apps/site/pages/uk/index.mdx b/apps/site/pages/uk/index.mdx index 54ed7fa6bfc26..4e4bf73d5184a 100644 --- a/apps/site/pages/uk/index.mdx +++ b/apps/site/pages/uk/index.mdx @@ -21,7 +21,7 @@ Node.js® — це безплатне, кросплатформне середо Завантажує Node.js {release.versionWithPrefix} 1 із довгостроковою підтримкою. - Також, Node.js можна встановити за допомогоюменеджерів пакетів. + Node.js також можна встановити через менеджери пакетів. )} @@ -132,6 +132,6 @@ if (isMainThread) { -Дізнайтеся більше про можливості Node.js [із нашими навчальними матеріалами](/learn). +Дізнайтеся більше про можливості Node.js із [нашими навчальними матеріалами](/learn). 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 249d2a3a493a1..8ffabcc6b3349 100644 --- a/apps/site/pages/zh-cn/download/prebuilt-binaries/index.mdx +++ b/apps/site/pages/zh-cn/download/prebuilt-binaries/index.mdx @@ -13,12 +13,12 @@ subtitle: 以您喜欢的方式下载 Node.js。
Node.js 已包含 。 -阅读关于 此版本 的变更日志 +阅读关于 此版本 的变更日志. -阅读 此版本 的博客文章。 +阅读关于 此版本 的博客文章. 学习如何 验证签名的 SHASUMS。 -查看 Nightly 的预编译二进制文件或者适用于其他平台的 非官方构建 版本 +查看 Nightly 的预编译二进制文件,所有 Release 预编译二进制文件,或者适用于其他平台的 非官方构建 版本.
diff --git a/apps/site/pages/zh-tw/about/branding.mdx b/apps/site/pages/zh-tw/about/branding.mdx new file mode 100644 index 0000000000000..3f8ae48f8962c --- /dev/null +++ b/apps/site/pages/zh-tw/about/branding.mdx @@ -0,0 +1,72 @@ +--- +title: Node.js 的品牌形象 +layout: about +--- + +Node.js 的品牌形象 + +請閱讀[商標政策](https://trademark-policy.openjsf.org/)以取得 Node.js® 商標與標誌的使用權資訊。 + +## Node.js 吉祥物 + +Node.js 吉祥物 + +## Node.js® 標誌 + +### Node.js® 橫向標誌 + + + + + + + +
+ Node.js® 暗色橫向標誌 + + Node.js® 亮色橫向標誌 +
+ +### Node.js® 堆疊標誌 + + + + + + + + + + + + + +
+ Node.js® 暗色堆疊標誌 + + Node.js® 亮色堆疊標誌 +
+ Node.js® 黑色堆疊標誌 + + Node.js® 白色堆疊標誌 +
+ +### JS 圖示 + + + + + + + +
+ 綠色 JS 圖示 + + 白色 JS 圖示 +
diff --git a/apps/site/pages/zh-tw/about/get-involved/collab-summit.md b/apps/site/pages/zh-tw/about/get-involved/collab-summit.md new file mode 100644 index 0000000000000..d56bc3a7a5926 --- /dev/null +++ b/apps/site/pages/zh-tw/about/get-involved/collab-summit.md @@ -0,0 +1,16 @@ +--- +title: 協作高峰會 +layout: about +--- + +# 協作高峰會 + +Node.js 協作高峰會是一場非正式會議,旨在匯聚現有和潛在的貢獻者,透過現場協作、教學和知識分享的方式進行 Node.js 相關討論。來自社群的團隊、工作小組和貢獻者每年固定聚會兩次,一起做出重要的決定,同時面對面推進重大事項的進展。 + +## 參與者有哪些? + +協作高峰會主要由現有的貢獻者和社群成員參加,但也歡迎尚未成為貢獻者的人共襄盛舉。如果你剛開始投入 Node.js 社群,請務必抓緊協作高峰會這個大好機會,瞭解社群內部的動態,並運用既有及待開發的技能做出貢獻。 + +在高峰會開始之前,貢獻者和社群成員會遞交會議提案以制定議程。與會者可以在抵達現場前先熟悉會議內容,進行一般的協作者討論,然後深入參與各個專題討論。此外,還會有許多機會在走廊上進行交流和腦力激盪。 + +如欲瞭解往後與過去的協作高峰會資訊,請查看[高峰會儲存庫](https://github.com/openjs-foundation/summit)及[已提出問題](https://github.com/nodejs/summit/issues),熟悉貢獻者和社群成員計劃當面討論的內容。 diff --git a/apps/site/pages/zh-tw/about/get-involved/contribute.md b/apps/site/pages/zh-tw/about/get-involved/contribute.md new file mode 100644 index 0000000000000..27e2eb205e78e --- /dev/null +++ b/apps/site/pages/zh-tw/about/get-involved/contribute.md @@ -0,0 +1,47 @@ +--- +title: 做出貢獻 +layout: about +--- + +# 做出貢獻 + +感謝你有意為 Node.js 做出貢獻!達成此目的的方式和領域非常多樣化,我們很樂意為你提供協助。 + +## 尋求一般協助 + +由於 `nodejs/node` 專案的更新非常頻繁,因此與 Node.js 相關的一般問題或請求請至 [Node.js 支援儲存庫](https://github.com/nodejs/help/issues)提問。 + +## 回報問題 + +若你發現了 Node.js 的漏洞,歡迎至 GitHub 專案中提出問題,但請務必提供可重現且不包含任何外部依賴項的測試實例,也就是說執行該實例的過程中不需使用 Node.js 以外的工具。 + +回報問題時,請盡可能詳述執行環境的相關資訊。由於我們無法預知排查問題時所需的參考依據,因此請至少提供下列資訊: + +- Node.js 版本 +- 作業系統 (macOS、SmartOS、 Linux 或 Windows) +- 作業系統架構 (32bit 或 64bit 及 x86 或 ARM) + +Node.js 專案目前在多個不同的 GitHub 儲存庫中進行管理,每個儲存庫都有自己獨立的問題資料庫。如果可以的話,請將問題直接遞交至相應的儲存庫,但就算問題送錯了地方也不用擔心,社群的貢獻者會很樂意幫你指引方向。 + +- 如欲報告 Node.js 相關問題,請使用 [nodejs/node](https://github.com/nodejs/node) +- 如欲報告與本站相關的問題,請使用 [nodejs/nodejs.org](https://github.com/nodejs/nodejs.org/issues) + +## 程式碼貢獻 + +若你想協助 Node.js 修復錯誤或新增功能,請先詳讀 [Node.js 貢獻指南](https://github.com/nodejs/node/blob/main/CONTRIBUTING.md/#pull-requests)。該指南也解釋了現有合作者對該專案所有貢獻的審查流程。 + +如果你不知道從何著手,可以查看 [Node 待辦清單](https://www.nodetodo.org/),遵循其中的指引完成第一次貢獻。 + +## 成為協作者 + +當貢獻者成為協作者後會對專案產生更大的影響力,可以審查他人的貢獻、分類處理問題,並大幅型塑專案的未來。對任何 Node.js 儲存庫做出重大且有價值貢獻者在被 TSC 認可後即可成為協作者,並獲得該專案的上傳存取權限。評估標準包括但不限於以下活動之品質: + +- 程式碼上傳與拉取請求 +- 文件上傳與拉取請求 +- 回覆問題與拉取請求 +- 對 Node.js 網站做出貢獻 +- 向終端用戶和新手貢獻者提供的幫助 +- 工作小組參與度 +- 更廣泛的 Node.js 社群參與度 + +若有人做出了意義重大的貢獻,卻認為自己並未進入上傳存取權的候選名單,可以[提出問題](https://github.com/nodejs/TSC/issues)或[直接聯絡 TSC 成員](https://github.com/nodejs/node#tsc-technical-steering-committee)。 diff --git a/apps/site/pages/zh-tw/about/get-involved/events.mdx b/apps/site/pages/zh-tw/about/get-involved/events.mdx new file mode 100644 index 0000000000000..240b4dbea1b61 --- /dev/null +++ b/apps/site/pages/zh-tw/about/get-involved/events.mdx @@ -0,0 +1,16 @@ +--- +title: 近期活動 +layout: about +--- + +## 近期活動 + +Node.js 的活動對外開放,歡迎所有人踴躍參加。 + +### Node.js® 近期會議 + +Node.js 專案每年都會召開多次會議,討論並規劃各方面的細節。 + +下列為七天內即將舉行的會議。 + + diff --git a/apps/site/pages/zh-tw/about/get-involved/index.md b/apps/site/pages/zh-tw/about/get-involved/index.md new file mode 100644 index 0000000000000..fce97a65355cb --- /dev/null +++ b/apps/site/pages/zh-tw/about/get-involved/index.md @@ -0,0 +1,26 @@ +--- +title: 加入我們 +layout: about +--- + +# 加入我們 + +## 社群討論 + +- [GitHub 問題清單](https://github.com/nodejs/node/issues) 是討論 Node.js 核心功能的區域。 +- 若要進行 Node.js 開發相關的即時聊天,請使用以下其中一個平台 + - 針對 IRC,請使用 [IRC 客戶端](https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients)連線至 `#node.js` 頻道中的 `irc.libera.chat`,或使用[網頁客戶端](https://kiwiirc.com/nextclient/)透過瀏覽器連線至該頻道。 + - 針對 Slack,則有兩種選項: + - [OpenJSF Slack](https://slack-invite.openjsf.org/) 乃是由基金會經營的 Slack ,其中包含多個 Node.js 頻道 (以 #nodejs- 為前綴的頻道皆與該專案相關)。 + - [Node Slackers](https://www.nodeslackers.com/) 是一個專注於 Node.js 的 Slack 社群。 +- Node.js 的官方 Twitter 帳號是 [nodejs](https://twitter.com/nodejs)。 +- [Node.js 專案行事曆](https://nodejs.org/calendar)包含所有公開的團隊會議。 + +## 學習素材 + +- Node.js 網站的[官方學習區](https://nodejs.org/en/learn/)。 +- [官方 API 參考文件](https://nodejs.org/api/)。 +- [NodeSchool.io](https://nodeschool.io/) 會透過命令列遊戲傳授 Node.js 的概念。 +- [Stack Overflow 的 Node.js 標籤](https://stackoverflow.com/questions/tagged/node.js)每天都會收集最新資訊。 +- [The DEV Community Node.js tag](https://dev.to/t/node) 是供開發者分享 Node.js 專案、文章與教學,以及討論 Node.js 相關主題、收集他人意見的地方。無論程度如何都歡迎踴躍參與。 +- [Nodeiflux](https://discordapp.com/invite/vUsrbjd) 是一個友善的 Node.js 後端開發者社群,成員們在 Discord 上相互支援。 diff --git a/apps/site/pages/zh-tw/about/governance.md b/apps/site/pages/zh-tw/about/governance.md new file mode 100644 index 0000000000000..c97d04939e838 --- /dev/null +++ b/apps/site/pages/zh-tw/about/governance.md @@ -0,0 +1,31 @@ +--- +title: 專案治理 +layout: about +--- + +# 專案治理 + +## 共識尋求過程 + +Node.js 專案遵循共識尋求的決策模式。 + +## 協作者 + +[nodejs/node][] 核心 GitHub 儲存庫由協作者維護,這些負責人是由其他現有協作者持續提名選出的。 + +做出重要貢獻者會被任命為協作者並獲得專案的上傳權限。其人選由其他協作者篩選、提名,並與現有協作者討論。 + +如欲查看目前的協作者清單,請參閱專案的 [README.md][]。 + +如需協作者指南請參閱 [collaborator-guide.md][]。 + +## 技術指導委員會 + +本專案由負責專案的高層指導的技術指導委員會 (TSC) 管理。TSC 是由現有 TSC 成員提名的一部分活躍協作者組成的。 + +[consensus seeking]: https://en.wikipedia.org/wiki/Consensus-seeking_decision-making +[readme.md]: https://github.com/nodejs/node/blob/main/README.md#current-project-team-members +[tsc]: https://github.com/nodejs/TSC +[technical steering committee (tsc)]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md +[collaborator-guide.md]: https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md +[nodejs/node]: https://github.com/nodejs/node diff --git a/apps/site/pages/zh-tw/about/index.mdx b/apps/site/pages/zh-tw/about/index.mdx new file mode 100644 index 0000000000000..81b70befaa623 --- /dev/null +++ b/apps/site/pages/zh-tw/about/index.mdx @@ -0,0 +1,60 @@ +--- +title: 關於 Node.js® +layout: about +--- + +關於 Node.js® + +Node.js 身為非同步事件驅動的 JavaScript 執行環境,旨在建構可擴展的網路應用程式。在下面的 "hello world" 範例中,Node.js 可以同時處理多個併發連線。每個連線都會觸發回調函式,但如果沒有任何工作需要處理, Node.js 就會進入休眠。 + +```cjs +const { createServer } = require('node:http'); + +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'); +}); + +server.listen(port, hostname, () => { + console.log(`Server running at http://${hostname}:${port}/`); +}); +``` + +```mjs +import { createServer } from 'node:http'; + +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'); +}); + +server.listen(port, hostname, () => { + console.log(`Server running at http://${hostname}:${port}/`); +}); +``` + +這與目前更常見的作業系統線程併發模型形成鮮明對比。線程導向的網路效率相對較低且難以使用。此外,Node.js 的使用者也不必擔心死鎖問題,因為系統中並沒有鎖機制。Node.js 中幾乎沒有直接執行 I/O 的函數,所以除了使用 Node.js 標準庫的同步方法進行 I/O 外,進程不會被阻塞。由於沒有阻塞,因此在 Node.js 中開發可擴展的系統就非常容易。 + +如果對上文中部分用語不熟悉,可以參考關於阻塞與非阻塞的完整文章。 + +--- + +Node.js 在設計上類似於 Ruby 的 [Event Machine][] 和 Python 的 [Twisted][] 等系統,也受到了它們的影響並進一步發展事件模型。它將事件循環呈現為一個運行時結構而非函數庫。在其他系統中,總是需要阻塞調用才能啟動事件循環。通常,行為是在腳本開始時透過回調進行定義,並在結尾透過 `EventMachine::run()` 等阻塞調用啟動伺服器。然而在 Node.js 中卻沒有這種啟動事件循環的調用。Node.js 會在執行輸入腳本後直接進入事件循環。若沒有更多回調需要執行,Node.js 就會退出事件循環。這種行為類似於瀏覽器中的 JavaScript,事件循環對使用者是隱藏的。 + +HTTP 是 Node.js 中的一等公民,在設計時就考慮到了流處理和低延遲。這使得 Node.js 非常適合作為 web 函式庫或框架的基礎。 + +Node.js 的設計中沒有使用執行緒,但這並不代表環境中的多核就無法利用。你可以透過我們的 `child_process.fork()][]` API 產生專為便利通訊設計的子進程。基於相同介面的 `[cluster][]` 模組允許你在進程之間共享套接字,以實現多核之間的負載均衡。 + +[阻塞與非阻塞]: /learn/asynchronous-work/overview-of-blocking-vs-non-blocking +[`child_process.fork()`]: https://nodejs.org/api/child_process.html +[`cluster`]: https://nodejs.org/api/cluster.html +[event machine]: https://github.com/eventmachine/eventmachine +[twisted]: https://twisted.org/ diff --git a/apps/site/pages/zh-tw/about/previous-releases.mdx b/apps/site/pages/zh-tw/about/previous-releases.mdx new file mode 100644 index 0000000000000..fce7d2f0ab3c9 --- /dev/null +++ b/apps/site/pages/zh-tw/about/previous-releases.mdx @@ -0,0 +1,18 @@ +--- +title: Node.js 版本 +layout: about +--- + +Node.js 版本 + +Node.js 的主要版本在釋出後六個月內皆處於最新 (Current) 狀態,讓函數庫作者有時間為其新增支援功能。六個月後,奇數編號的釋出版本 (如 9、11 等) 會停止支援,而偶數編號的釋出版本 (如 10、12 等) 會進入活躍 LTS (Active LTS) 狀態,開放一般大眾使用。LTS 狀態代表「長期支援」,在 30 個月內發現的重大錯誤通常都會得到修復。生產環境的應用程式僅應使用活躍 LTS 或維護 LTS (Maintenance LTS) 版本。 + +## 釋出時間表 + +![版本釋出](https://raw.githubusercontent.com/nodejs/Release/main/schedule.svg?sanitize=true) + +Node.js 的詳細釋出時間表請見 [Github](https://github.com/nodejs/release#release-schedule)。 + +## 你在找特定版本分支的最新版嗎? + + diff --git a/apps/site/pages/zh-tw/about/security-reporting.mdx b/apps/site/pages/zh-tw/about/security-reporting.mdx new file mode 100644 index 0000000000000..7f41b4ba9fcea --- /dev/null +++ b/apps/site/pages/zh-tw/about/security-reporting.mdx @@ -0,0 +1,65 @@ +--- +title: 安全性回報 +layout: about +--- + +安全性回報 + +如欲瞭解更多安全策略的相關資訊,請查看[此頁面](https://github.com/nodejs/node/security/policy)。 + +## 回報 Node.js 中的錯誤 + +你可以透過 [HackerOne](https://hackerone.com/nodejs) 回報 Node.js 的安全性錯誤。 + +你的報告將在 5 天內得到確認,並且將在 10 天內收到更詳細的回覆,說明後續的處理步驟。 + +在安全團隊針對你的報告做出初步回覆後,將會盡力通知你修復和完整公告的進展,也有可能要求提供與報告相關的額外資訊或指導。 + +### Node.js 漏洞獎勵計畫 + +Node.js 專案為安全研究人員和盡責公開揭露設立了官方漏洞獎勵計畫。該計畫透過 HackerOne 平台進行管理。詳情請見 [https://hackerone.com/nodejs](https://hackerone.com/nodejs)。 + +## 回報第三方模塊的錯誤 + +第三方模塊的錯誤應回報給其相應維護者。 + +## 揭露政策 + +下列為 Node.js 的安全揭露政策 + +安全報告接受後將指派給一位主要處理人。這位人員將會協調修復和釋出流程。當問題確認後,將整理出所有受影響的版本清單。隨後審核程式碼以排查任何潛在的類似問題。接著針對所有仍在維護中的版本提出修復方案。修復內容不會上傳至公開儲存庫,而是在等待公告期間暫時保存在本機。 + +針對該漏洞選定建議的解禁日期,並申請一組 CVE® (通用漏洞和揭露,Common Vulnerabilities and Exposures) 編號。 + +在保密日期截止當天,Node.js 安全郵件清單會收到公告的副本。變更內容將推送至公共儲存庫,同時新版本將部署到 nodejs.org。在 +郵件清單收到通知的 6 小時內,公告副本就會張貼在 Node.js 部落格上。 + +一般而言解禁日期會訂於 CVE 核發的 72 小時後,但仍可能依照漏洞的複雜度及部署的困難度而有變化。 + +整個流程需要耗費不少時間,尤其在需要與其他專案維護者協調的情況下更是如此。雖然我們會盡快處理漏洞,但我們仍須遵循上述釋出流程以貫徹揭露政策。 + +## 接收安全性更新 + +安全性通知將由以下管道送出。 + +[Google 網路論壇](https://groups.google.com/group/nodejs-sec) +[Node.js 部落格](/blog) + +## 針對此政策提出建議 + +若你有任何改進此流程的建議,請建立[拉取請求](https://github.com/nodejs/nodejs.org)或[提出問題](https://github.com/nodejs/security-wg/issues/new)進行討論。 + +## OpenSSF 最佳實踐 + + + OpenSSF 徽章 + + +開源安全基金會 (OpenSSF) [最佳實踐徽章](https://github.com/coreinfrastructure/best-practices-badge)的意義是為奉行最佳實踐的自由/開源軟體 (FLOSS) 專案提供背書。專案可以自發認證每項最佳實踐的遵循情況,徽章的使用者則可以快速評估哪些 FLOSS 專案確實遵循最佳實踐,因此更有可能產出安全又高品質的軟體。 diff --git a/apps/site/pages/zh-tw/download/package-manager/all.md b/apps/site/pages/zh-tw/download/package-manager/all.md new file mode 100644 index 0000000000000..91ebc274fe5d8 --- /dev/null +++ b/apps/site/pages/zh-tw/download/package-manager/all.md @@ -0,0 +1,421 @@ +--- +layout: download +title: 使用套件管理器安裝 Node.js +--- + +# 使用套件管理器安裝 Node.js + +> 本站上的套件皆由各自的套件管理器維護與支援,**並非**由 Node.js 的核心團隊維護。若遭遇任何問題,請向該套件的維護者回報。如果問題確實是 Node.js 本身的錯誤,將由維護者負責向上游回報。 + +--- + +- [Alpine Linux](#alpine-linux) +- [Android](#android) +- [Arch Linux](#arch-linux) +- [CentOS, Fedora 與 Red Hat Enterprise Linux](#centos-fedora-and-red-hat-enterprise-linux) +- [基於 Debian 與 Ubuntu 的 Linux 發行版](#debian-and-ubuntu-based-linux-distributions) +- [Exherbo Linux](#exherbo-linux) +- [fnm](#fnm) +- [FreeBSD](#freebsd) +- [Gentoo](#gentoo) +- [IBM i](#ibm-i) +- [macOS](#macos) +- [n](#n) +- [NetBSD](#netbsd) +- [Nodenv](#nodenv) +- [nvm](#nvm) +- [nvs](#nvs) +- [OpenBSD](#openbsd) +- [openSUSE 與 SLE](#opensuse-and-sle) +- [SmartOS 與 illumos](#smartos-and-illumos) +- [Snap](#snap) +- [Solus](#solus) +- [vfox](#vfox) +- [Void Linux](#void-linux) +- [Windows](#windows-1) +- [z/OS](#zos) + +--- + +## Alpine Linux + +Node.js LTS 與 npm 套件皆收錄於主儲存庫。 + +```bash +apk add nodejs npm +``` + +你可以從社群儲存庫下載 Node.js 的最新版本。 + +```bash +apk add nodejs-current +``` + +## Android + +Node.js 對於 Android 的支援系統仍在測試階段,因此 Node.js 的開發者尚未提供預編譯的二進制檔案。 + +然而,有一些第三方解決方案。例如, [Termux](https://termux.com/) 社群提供了 Android 的終端模擬器和 Linux 環境,以及自己的套件管理器和廣泛的[預編譯應用程式](https://github.com/termux/termux-packages) 。在 Termux 應用程式中使用以下命令可以安裝最新的 Node.js 版本: + +```bash +pkg install nodejs +``` + +目前,Termux 的 Node.js 二進制檔案與 `system-icu` (依賴於 libicu 套件) 進行了連結。 + +## Arch Linux + +Node.js 與 npm 套件皆收錄於主儲存庫。 + +```bash +pacman -S nodejs npm +``` + +## CentOS、Fedora 與 Red Hat Enterprise Linux + +Node.js 在 CentOS/RHEL 8 和 Fedora 中以 `nodejs` 模組的名稱開放使用。 + +```bash +dnf module install nodejs: +``` + +其中 對應 Node.js 的主要版本。 +可用的流清單請見下表: + +```bash +dnf module list nodejs +``` + +舉例而言,安裝 Node.js 18 應遵循下列步驟: + +```bash +dnf module install nodejs:18/common +``` + +### 替代方案 + +這些資源提供與 CentOS、Fedora 和 RHEL 相容的套件。 + +- [Node.js snaps](#snap) 由 https://github.com/nodejs/snap 維護與支援 +- [Node.js 二進制發行版](#debian-and-ubuntu-based-linux-distributions)由 [NodeSource](https://github.com/nodesource/distributions) 維護與支援 + +## 基於 Debian 或 Ubuntu 的 Linux 發行版 + +[Node.js 二進制發行版](https://github.com/nodesource/distributions)收錄於 NodeSource。 + +### 替代方案 + +和基於 Debian 與 Ubuntu 的 Linux 發行版相容的套件可以透過 [Node.js snaps](#snap) 取得。 + +## Exherbo Linux + +Node.js 和 npm 套件在收錄於 [arbor 版本庫](https://gitlab.exherbo.org/exherbo/arbor/-/tree/master/packages/dev-lang/node)。 + +```bash +cave resolve -x node +``` + +## fnm + +快速簡單的 Node.js 版本管理器,使用 Rust 構建,用於管理多個已釋出的 Node.js 版本。其功能包含安裝、解除安裝、根據目錄自動切換 Node 版本等。如欲安裝 fnm,請使用此[安裝腳本](https://github.com/Schniz/fnm#using-a-script-macoslinux)。 + +fnm 支援跨平台 (macOS、Windows、Linux) 以及所有主流的 shell 指令 (Bash、Zsh、 Fish、PowerShell、Windows Command Line Prompt)。 +fnm 在設計時考慮了速度,以及對 `.node-version` 和 `.nvmrc` 檔案的相容性。 + +## FreeBSD + +最新版本的 Node.js 可以透過 [www/node](https://www.freshports.org/www/node) 軟體包取得。 + +透過 [pkg](https://www.freebsd.org/cgi/man.cgi?pkg) 安裝二進制套件: + +```bash +pkg install node +``` + +或自己使用 [ports](https://www.freebsd.org/cgi/man.cgi?ports) 編譯: + +```bash +cd /usr/ports/www/node && make install +``` + +## Gentoo + +Node.js 可以透過 portage 樹取得。 + +```bash +emerge nodejs +``` + +## IBM i + +IBM 提供的 Node.js LTS 版本可以透過 [yum 套件管理器](https://ibm.biz/ibmi-rpms)取得。套件名稱為 `nodejs`,後綴為主要版本編號 (例如 `nodejs18`、`nodejs20` 等)。 + +若要從命令列安裝 Node.js 20.x,請以具有 \*ALLOBJ 特殊權限的使用者身分執行下列命令: + +```bash +yum install nodejs20 +``` + +Node.js 也可以與 IBM i Access Client Solutions 一起安裝。詳細資訊請參閱[支援文件](http://www-01.ibm.com/support/docview.wss?uid=nas8N1022619) + +## macOS + +直接從 [nodejs.org](https://nodejs.org/) 網站下載 [macOS 安裝器](/#home-downloadhead)。 + +如欲使用 bash 下載套件: + +```bash +curl "https://nodejs.org/dist/latest/$(curl -s https://nodejs.org/dist/latest/ | grep "pkg" | cut -d'"' -f 2)" -o "$HOME/Downloads/node-latest.pkg" && sudo installer -store -pkg "$HOME/Downloads/node-latest.pkg" -target "/" +``` + +### 替代方案 + +使用 **[Homebrew](https://brew.sh/)**: + +```bash +brew install node +``` + +使用 **[MacPorts](https://www.macports.org/)**: + +```bash +port install nodejs + +# Example +port install nodejs7 +``` + +使用 **[pkgsrc](https://pkgsrc.joyent.com/install-on-macos/)**: + +下載二進制套件: + +```bash +pkgin -y install nodejs +``` + +或從 pkgsrc 自行編譯: + +```bash +cd pkgsrc/lang/nodejs && bmake install +``` + +## n + +`n` 是一款簡單易用的 Node.js 版本管理器,適用於 Mac 和 Linux。你可以使用豐富的語法指定欲安裝的目標版本,或者從之前下載的版本清單中進行選擇。安裝範圍可選擇全系統或以使用者為限,也可以直接從快取的下載檔案中執行特定版本。 + +請參閱[首頁](https://github.com/tj/n)以了解安裝方法 (bootstrap、npm、Homebrew、第三方) 以及所有使用詳細資訊。 + +如果你已經有 `npm`,那麼安裝 `n` 後再安裝最新的 LTS `node` 非常簡單,只需要執行下列步驟: + +``` +npm install -g n +n lts +``` + +## NetBSD + +Node.js 可於 pkgsrc 樹中取得: + +```bash +cd /usr/pkgsrc/lang/nodejs && make install +``` + +或使用 pkgin 安裝二進制套件 (如果適用於你的平台): + +```bash +pkgin -y install nodejs +``` + +## Nodenv + +`nodenv` 是一款輕量級的 Node 版本管理器,類似於 `nvm`。它不但設計簡潔,還穩定可靠。豐富的插件生態系統可以讓使用者可以隨心個人化。使用 `nodenv` 為你的應用程式選擇 Node 版本,並確保開發環境與生產環境保持一致。 + +Nodenv 安裝說明在其 [Github 頁面上](https://github.com/nodenv/nodenv#installation) 進行維護。請前往該頁面以遵循最新版本的安裝步驟。 + +## nvm + +Node Version Manager 是一個 Bash 腳本,用於管理多個已釋出的 Node.js 版本。其功能包含安裝、解除安裝、切換版本等。 +如欲安裝 nvm,請使用[此安裝腳本](https://github.com/nvm-sh/nvm#install--update-script)。 + +在 Unix / OS X 系統上,可以使用 [nvm](https://github.com/creationix/nvm) 安裝從原始碼構建的 Node.js,方法是安裝到 nvm 預期的位置: + +```bash +env VERSION=`python tools/getnodeversion.py` make install DESTDIR=`nvm_version_path v$VERSION` PREFIX="" +``` + +之後就可以使用 `nvm` 在釋出版本和從原始碼建構的版本之間切換。 +例如,如果 Node.js 的版本是 v8.0.0-pre: + +```bash +nvm use 8 +``` + +一旦正式版本釋出,就可以解除安裝從原始碼建構的版本: + +```bash +nvm uninstall 8 +``` + +## nvs + +#### Windows + +`nvs` 是一款可在 Windows、macOS 與類 Unix 系統上運行的跨平台版本管理器 + +如欲在 Windows 上安裝 `nvs`,請前往此[釋出頁面](https://github.com/jasongin/nvs/releases)下載最新版本的 MSI 安裝程式檔案。 + +此外也可以使用 `chocolatey` 安裝: + +```bash +choco install nvs +``` + +#### macOS, 類 Unix 系統 + +macOS / 類 Unix 系統安裝步驟文件請[見此](https://github.com/jasongin/nvs/blob/master/doc/SETUP.md#mac-linux) + +#### 使用方法 + +安裝後可以使用 `nvs` 切換不同版本的 node。 + +新增最新版本的 node: + +```bash +nvs add latest +``` + +或是新增最新 LTS 版本的 node: + +```bash +nvs add lts +``` + +隨後執行 `nvs use` 命令將 Node. js 版本加入目前 shell 指令的 `PATH` 中: + +```bash +$ nvs use lts +PATH -= %LOCALAPPDATA%\nvs\default +PATH += %LOCALAPPDATA%\nvs\node\14.17.0\x64 +``` + +如欲將其永久新增至 `PATH`,請使用 `nvs link`: + +```bash +nvs link lts +``` + +## OpenBSD + +Node.js 可透過 ports 系統取得。 + +```bash +/usr/ports/lang/node +``` + +在 OpenBSD 上使用 [pkg_add](https://man.openbsd.org/OpenBSD-current/man1/pkg_add.1): + +```bash +pkg_add node +``` + +## openSUSE 及 SLE + +Node.js 收錄於主儲存庫的以下軟體包: + +- **openSUSE Leap 15.2**:`nodejs10`、`nodejs12`、`nodejs14` +- **openSUSE Tumbleweed**:`nodejs20` +- **SUSE Linux Enterprise Server (SLES) 12**:`nodejs10`、`nodejs12`和`nodejs14` + (「Web 與腳本模組」必須[啟用](https://www.suse.com/releasenotes/x86_64/SUSE-SLES/12-SP5/#intro-modulesExtensionsRelated)。) +- **SUSE Linux Enterprise Server (SLES) 15 SP2**: `nodejs10`, `nodejs12`, and `nodejs14` (「Web 與腳本模組」必須[啟用](https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15/#Intro.Module)。) + +舉例而言,如果要在 openSUSE Leap 15.2 上安裝 Node.js 14.x,請以 root 身分執行下列命令: + +```bash +zypper install nodejs14 +``` + +不同主要版本的 Node 可以同時安裝和使用。 + +## SmartOS 及 illumos + +SmartOS 映像預先安裝了 pkgsrc。在其他 illumos 發行版上,請先安裝 **[pkgsrc](https://pkgsrc.joyent.com/install-on-illumos/)**,然後才可以正常安裝二進制套件: + +```bash +pkgin -y install nodejs +``` + +或從 pkgsrc 自行編譯: + +```bash +cd pkgsrc/lang/nodejs && bmake install +``` + +## Snap + +[Node.js snaps](https://github.com/nodejs/snap) 在 Snap 商店中顯示為 [`node`](https://snapcraft.io/node)。 + +## Solus + +Solus 的主儲存庫有提供 Node.js。 + +```bash +sudo eopkg install nodejs +``` + +## vfox + +這是一款跨平台 (Windows、macOS、Linux) 的**可擴充的**版本管理器。 + +你可以**在不同的專案使用不同的版本**、**在不同的shell使用不同的版本**,也可以根據當下的目錄自動切換 Node 版本等。 + +它支援所有主流的 shell 指令 (Bash、Zsh、Fish、PowerShell、Clink、Cmder)。 + +請參閱[快速入門](https://vfox.lhan.me/guides/quick-start.html)瞭解 vfox 的所有使用細節。 + +## Void Linux + +Void Linux 在主儲存庫中提供了 Node.js 的穩定版本。 + +```bash +xbps-install -Sy nodejs +``` + +## Windows + +直接從 [nodejs.org](https://nodejs.org/) 網站下載 [Windows 安裝器](/#home-downloadhead)。 + +### 替代方案 + +使用 **[Winget](https://aka.ms/winget-cli)**: + +```bash +winget install OpenJS.NodeJS +# or for LTS +winget install OpenJS.NodeJS.LTS +``` + +執行上述的兩個命令之一後,可能需要重新啟動,這樣 `node` 的指令才能使用。 + +使用 **[Chocolatey](https://chocolatey.org/)**: + +```bash +cinst nodejs +# or for full install with npm +cinst nodejs.install +``` + +使用 **[Scoop](https://scoop.sh/)**: + +```bash +scoop install nodejs +# or for LTS +scoop install nodejs-lts +``` + +## z/OS + +IBM® SDK for Node.js - z/OS® 有兩種安裝格式可供選擇,分別是 +SMP/E 和 PAX。請選擇適合的安裝格式: + +- [在 z/OS 上安裝和設定 Node.js 的 SMP/E 版本](https://www.ibm.com/docs/en/sdk-nodejs-zos/14.0?topic=configuring-installing-smpe-edition) +- [在 z/OS 上安裝和設定 Node.js 的 PAX 版本](https://www.ibm.com/docs/en/sdk-nodejs-zos/14.0?topic=configuring-installing-pax-edition) diff --git a/apps/site/pages/zh-tw/download/package-manager/current.mdx b/apps/site/pages/zh-tw/download/package-manager/current.mdx new file mode 100644 index 0000000000000..4ff53d5b588ee --- /dev/null +++ b/apps/site/pages/zh-tw/download/package-manager/current.mdx @@ -0,0 +1,24 @@ +--- +layout: download +title: 下載 Node.js® +subtitle: 使用偏好的管道下載 Node.js +--- + +
+在 上使用 安裝 版本的 Node.js + + +
+ +
+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 new file mode 100644 index 0000000000000..4ff53d5b588ee --- /dev/null +++ b/apps/site/pages/zh-tw/download/package-manager/index.mdx @@ -0,0 +1,24 @@ +--- +layout: download +title: 下載 Node.js® +subtitle: 使用偏好的管道下載 Node.js +--- + +
+在 上使用 安裝 版本的 Node.js + + +
+ +
+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 new file mode 100644 index 0000000000000..1889a774bc4fc --- /dev/null +++ b/apps/site/pages/zh-tw/download/prebuilt-binaries/current.mdx @@ -0,0 +1,24 @@ +--- +layout: download +title: 下載 Node.js® +subtitle: 使用偏好的管道下載 Node.js +--- + +
+我想要 版本的 Node.js,執行系統為 。 + + +
+ +
+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 new file mode 100644 index 0000000000000..2a208b48376ea --- /dev/null +++ b/apps/site/pages/zh-tw/download/prebuilt-binaries/index.mdx @@ -0,0 +1,24 @@ +--- +layout: download +title: 下載 Node.js® +subtitle: 使用偏好的管道下載 Node.js +--- + +
+我想要 版本的 Node.js,執行系統為 。 + + +
+ +
+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 new file mode 100644 index 0000000000000..3093a495af0a7 --- /dev/null +++ b/apps/site/pages/zh-tw/download/prebuilt-installer/current.mdx @@ -0,0 +1,26 @@ +--- +layout: download +title: 下載 Node.js® +subtitle: 使用偏好的管道下載 Node.js +--- + +
+我想要 版本的 Node.js,執行系統為 。 + + +
+ +
+Node.js 內含 。 + +閱讀此版本的更新紀錄 + +閱讀此版本的部落格文章 + +瞭解如何驗證已簽署的 SHASUMS + +查看所有 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 new file mode 100644 index 0000000000000..3093a495af0a7 --- /dev/null +++ b/apps/site/pages/zh-tw/download/prebuilt-installer/index.mdx @@ -0,0 +1,26 @@ +--- +layout: download +title: 下載 Node.js® +subtitle: 使用偏好的管道下載 Node.js +--- + +
+我想要 版本的 Node.js,執行系統為 。 + + +
+ +
+Node.js 內含 。 + +閱讀此版本的更新紀錄 + +閱讀此版本的部落格文章 + +瞭解如何驗證已簽署的 SHASUMS + +查看所有 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 new file mode 100644 index 0000000000000..66421f326582c --- /dev/null +++ b/apps/site/pages/zh-tw/download/source-code/current.mdx @@ -0,0 +1,24 @@ +--- +layout: download +title: 下載 Node.js® +subtitle: 使用偏好的管道下載 Node.js +--- + +
+我想要 Node.js 版本的原始碼。 + + +
+ +
+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 new file mode 100644 index 0000000000000..66421f326582c --- /dev/null +++ b/apps/site/pages/zh-tw/download/source-code/index.mdx @@ -0,0 +1,24 @@ +--- +layout: download +title: 下載 Node.js® +subtitle: 使用偏好的管道下載 Node.js +--- + +
+我想要 Node.js 版本的原始碼。 + + +
+ +
+Node.js 內含 。 + +閱讀此版本的更新紀錄 + +閱讀此版本的部落格文章 + +瞭解如何驗證已簽署的 SHASUMS + +探索如何從原始碼建構 Node.js + +
diff --git a/apps/site/pages/zh-tw/index.mdx b/apps/site/pages/zh-tw/index.mdx new file mode 100644 index 0000000000000..0a9fac05cf65a --- /dev/null +++ b/apps/site/pages/zh-tw/index.mdx @@ -0,0 +1,137 @@ +--- +title: 隨時隨地執行 JavaScript +layout: home +--- + +
+ + +
+

隨時隨地執行 JavaScript

+ +Node.js® 是一款免費的跨平台開源 JavaScript 執行環境,供開發者建立伺服器、網頁應用程式、命令列工具與腳本。 + +
+ +
+ + {({ release }) => ( + <> + 下載 Node.js (LTS) + + 下載享有長期支援功能的 Node.js {release.versionWithPrefix} + 1。 + Node.js 也可以透過 套件管理器 安裝。 + + + )} + + + + {({ release }) => ( + + 想要更快體驗新功能嗎? + 那就下載 Node.js {release.versionWithPrefix} + 1 吧。 + + )} + +
+
+ +
+
+ ```js displayName="Create an HTTP Server" + // server.mjs + import { createServer } from 'node:http'; + +const server = createServer((req, res) => { +res.writeHead(200, { 'Content-Type': 'text/plain' }); +res.end('Hello World!\n'); +}); + +// starts a simple http server locally on port 3000 +server.listen(3000, '127.0.0.1', () => { +console.log('Listening on 127.0.0.1:3000'); +}); + +// run with `node server.mjs` + +```` + +```js displayName="Write Tests" +// tests.mjs +import assert from 'node:assert'; +import test from 'node:test'; + +test('that 1 is equal 1', () => { + assert.strictEqual(1, 1); +}); + +test('that throws as 1 is not equal 2', () => { + // throws an exception because 1 != 2 + assert.strictEqual(1, 2); +}); + +// run with `node tests.mjs` +```` + +```js displayName="Read and Hash a File" +// crypto.mjs +import { createHash } from 'node:crypto'; +import { readFile } from 'node:fs/promises'; + +const hasher = createHash('sha1'); + +hasher.setEncoding('hex'); +// ensure you have a `package.json` file for this test! +hasher.write(await readFile('package.json')); +hasher.end(); + +const fileHash = hasher.read(); + +// run with `node crypto.mjs` +``` + +```js displayName="Streams Pipeline" +// streams.mjs +import { pipeline } from 'node:stream/promises'; +import { createReadStream, createWriteStream } from 'node:fs'; +import { createGzip } from 'node:zlib'; + +// ensure you have a `package.json` file for this test! +await pipeline( + createReadStream('package.json'), + createGzip(), + createWriteStream('package.json.gz') +); + +// run with `node streams.mjs` +``` + +```js displayName="Work with Threads" +// threads.mjs +import { + Worker, + isMainThread, + workerData, + parentPort, +} from 'node:worker_threads'; + +if (isMainThread) { + const data = 'some data'; + const worker = new Worker(import.meta.filename, { workerData: data }); + worker.on('message', msg => console.log('Reply from Thread:', msg)); +} else { + const source = workerData; + parentPort.postMessage(btoa(source.toUpperCase())); +} + +// run with `node threads.mjs` +``` + +
+ +我們提供大量[學習資源](/learn),探索 Node.js 的無限潛能。 + +
diff --git a/apps/site/pages/zh-tw/search.mdx b/apps/site/pages/zh-tw/search.mdx new file mode 100644 index 0000000000000..d484b08ae27f5 --- /dev/null +++ b/apps/site/pages/zh-tw/search.mdx @@ -0,0 +1,6 @@ +--- +layout: search +title: 搜尋結果 +--- + +