」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 建置和執行 Node.js 應用程式:使用建置和啟動腳本的指南

建置和執行 Node.js 應用程式:使用建置和啟動腳本的指南

發佈於2024-07-30
瀏覽:778

Building and Running a Node.js Application: A Guide to Using build and start Scripts

Node.js 是用於建立可擴展網路應用程式的強大運行時。無論您是開發 REST API、即時聊天應用程式還是複雜的 Web 應用程序,Node.js 都能提供您所需的靈活性和效能。在這篇文章中,我們將探討如何設定 Node.js 專案並利用建置和啟動腳本來簡化您的開發流程。

設定您的 Node.js 專案
在深入研究腳本之前,我們先建立一個基本的 Node.js 應用程式。請依照以下步驟開始:

初始化您的專案:
開啟終端並導航到專案目錄。執行以下命令來初始化一個新的 Node.js 專案:

npm init -y

此指令使用預設設定建立 package.json 檔案。該文件對於管理專案的依賴項和腳本至關重要。

安裝依賴項:
對於我們的範例,我們將使用 Express 建立一個簡單的 Web 伺服器。使用以下指令安裝:

npm 安裝express

創建您的應用程式:
在專案的根目錄中建立一個名為index.js的檔案。該文件將作為您的應用程式的入口點。

這是一個簡單的 Express 伺服器設定:

// index.js
const express = require('express');
const app = express();

const port = process.env.PORT || 3000;
app.get('/', (req, res) => {
    res.send('Hello, Node.js!');
});

app.listen(port, () => {
    console.log(`Server is running on port ${port}`);
});

使用建置和啟動腳本
在 Node.js 專案中,建置和啟動腳本有助於自動執行常見任務。讓我們在 package.json 檔案中設定這些腳本。

  1. 配置啟動腳本 啟動腳本通常用於在開發環境中執行應用程式。將以下腳本部分加入 package.json 中:
{
  "scripts": {
    "start": "node index.js"
  }
}

使用此配置,在終端機中執行 npm start 將執行 Node Index.js,啟動伺服器。

  1. 配置建置腳本 建置腳本對於編譯或準備生產應用程式非常有用。雖然 Node.js 應用程式通常不需要建置步驟,但您可能希望將其用於使用 Babel 轉譯程式碼、使用 Webpack 捆綁檔案或執行測試等任務。

以下是使用 Babel 將 ES6 程式碼轉譯為 ES5 的建構腳本範例:

安裝 Babel:

npm install --save-dev @babel/core @babel/cli @babel/preset-env

建立 Babel 設定檔:
在專案根目錄中建立一個名為 .babelrc 的檔案:

{
  "presets": ["@babel/preset-env"]
}

更新您的建置腳本:

{
  "scripts": {
    "start": "node index.js",
    "build": "babel src -d dist"
  }
}

此配置告訴 Babel 從 src 目錄轉譯程式碼並將其輸出到 dist 目錄。如果您使用不同的目錄結構,請確保相應地更新您的檔案路徑。

  1. 運行您的腳本 啟動應用程式:

npm 開始

建立應用程式:

npm 運行建置

此命令將轉譯您的代碼(如果您設定了 Babel)並為生產準備您的應用程式。

結論
在 Node.js 專案中設定建置和啟動腳本可以大幅簡化您的開發工作流程並確保順利過渡到生產。透過利用這些腳本,您可以自動執行任務、管理依賴項並維護乾淨且有效率的開發環境。

探索可以進一步增強 Node.js 應用程式的其他工具和函式庫,例如用於容器化的 Docker、用於流程管理的 PM2 或 Jest 等測試框架。

版本聲明 本文轉載於:https://dev.to/birajgtm/building-and-running-a-nodejs-application-a-guide-to-using-build-and-start-scripts-e38?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • OpenTelemetry:痕跡、指標、日誌和行李
    OpenTelemetry:痕跡、指標、日誌和行李
    隨著分散式架構的進步和微服務的使用越來越多,傳統的應用監控已經不夠了。僅單獨擷取指標或日誌的工具無法提供複雜系統行為的完整視圖。正是在這種背景下,OpenTelemetry 作為一個強大的解決方案應運而生,提供了一種收集和關聯不同訊號的統一方法。這些訊號包括痕跡、指標、日誌和行李,每個訊號在實現完全...
    程式設計 發佈於2024-11-02
  • 如何使用 Git LFS 將大檔案推送到 git 儲存庫
    如何使用 Git LFS 將大檔案推送到 git 儲存庫
    所以我最近正在做一個項目,我必須使用高解析度資產,因此它們的尺寸很大。我無法將文件推送到我的存儲庫。每當我嘗試時,我都會收到以下錯誤: 遠端:錯誤:檔案 file.csv 為 182.47 MB​​;這超出了 GitHub 的檔案大小限制 100.00 MB 遠端:錯誤:GH001:偵測到大檔案。您...
    程式設計 發佈於2024-11-02
  • Return 語句的放置如何影響 For 迴圈功能?
    Return 語句的放置如何影響 For 迴圈功能?
    For 循環中的Return 語句放置在這個特定情況下,在make_list 函數中放置return 語句會妨礙程式的預期功能。 return 語句應位於函數末尾,而不是在 for 迴圈內。 for 循環迭代 3 次,對應 3 個 pet 條目。然而,過早放置的 return 語句會過早終止函數,只...
    程式設計 發佈於2024-11-02
  • 現在已經九月了嗎?
    現在已經九月了嗎?
    大家早安,MonDEV快樂☕ 我們已經全面回歸,而九月重返 PC 的原因之一就是 Preptember! 那些從早期就開始關注時事通訊的人以及那些關注開源世界的人已經知道了,但在10 月份有一個持續一個月的活動,即Hacktoberfest;如果我們願意的話,我們可以將其定義為開源節,邀請我們所有...
    程式設計 發佈於2024-11-02
  • 為什麼錯誤的 return 語句會導致 for 迴圈中程式過早終止?
    為什麼錯誤的 return 語句會導致 for 迴圈中程式過早終止?
    for 循環中錯誤的返回語句在此編程問題中,用戶在創建允許用戶輸入三種動物的程序時遇到困難。該程式旨在用包含名稱、動物類型和年齡的 Pet 物件填入清單。然而,在輸入第一個動物後,程式突然結束。 經過分析,問題很明顯出在 make_list 函式中 return 語句的位置。 for 迴圈重複實作程...
    程式設計 發佈於2024-11-02
  • Item 避免使用其他類型更合適的字串
    Item 避免使用其他類型更合適的字串
    1。避免使用字串替代其他資料類型: 字串旨在表示文本,但經常被誤用來表示數字、枚舉或聚合結構。 如果資料本質上是數字,請使用 int、float 或 BigInteger 等類型,而不是 String。 String age = "30"; // incorreto int age = 30;...
    程式設計 發佈於2024-11-02
  • 如何使用sync.WaitGroup防止Go並發死鎖?
    如何使用sync.WaitGroup防止Go並發死鎖?
    解決 Goroutines 死鎖在這種情況下,您在 Go 並發代碼中遇到了死鎖錯誤。讓我們深入研究這個問題並提供一個有效的解決方案。 該錯誤是由於生產者和消費者的行為不匹配而發生的。在生產者函數中實現的生產者在有限的時間內在通道 ch 上發送值。然而,存在於主函數中的消費者無限期地運行,無休止地嘗試...
    程式設計 發佈於2024-11-02
  • 如何處理文字檔案中的 Unicode 文字:無錯誤編寫的完整指南
    如何處理文字檔案中的 Unicode 文字:無錯誤編寫的完整指南
    文本文件中的Unicode 文本:無錯誤寫作綜合指南從Google 文件中提取的編碼資料可能具有挑戰性,尤其是當遇到需要轉換為HTML 使用的非ASCII 符號時。本指南提供了處理 Unicode 文字並防止編碼錯誤的解決方案。 最初,在資料檢索期間將所有內容轉換為 Unicode 並將其寫入檔案似...
    程式設計 發佈於2024-11-02
  • EchoAPI 與 Insomnia:結合實例進行綜合比較
    EchoAPI 與 Insomnia:結合實例進行綜合比較
    作为一名全栈开发人员,我知道拥有一流的工具来调试、测试和记录 API 是多么重要。 EchoAPI 和 Insomnia 是两个出色的选项,每个选项都有自己独特的特性和功能。让我带您了解这些工具,比较它们的功能和优点,给您一些实际示例,并帮助您决定何时使用 EchoAPI 或 Insomnia。 ...
    程式設計 發佈於2024-11-02
  • 出發時間和持續時間|程式設計教學
    出發時間和持續時間|程式設計教學
    介紹 本實驗旨在測試您對 Go 的時間和持續時間支援的理解。 時間 下面的程式碼包含如何在 Go 中使用時間和持續時間的範例。但是,程式碼的某些部分遺失了。您的任務是完成程式碼,使其按預期工作。 Go程式語言基礎知識。 熟悉 Go 的時間和持續時間支援。 $ ...
    程式設計 發佈於2024-11-02
  • 起重面試問答
    起重面試問答
    1. JavaScript 中什么是提升? 答案: 提升是执行上下文创建阶段为变量和函数分配内存的过程。在此过程中,为变量分配了内存,并为变量分配了值 undefined。对于函数,整个函数定义存储在内存中的特定地址,并且对其的引用放置在该特定执行上下文中的堆栈上。 ...
    程式設計 發佈於2024-11-02
  • 了解 JavaScript 中的文件物件模型 (DOM)
    了解 JavaScript 中的文件物件模型 (DOM)
    你好,神奇的 JavaScript 開發者? 瀏覽器提供了一個稱為文檔物件模型 (DOM) 的程式設計接口,它允許腳本(特別是 JavaScript)與網頁佈局進行互動。網頁的文檔物件模型 (DOM) 是一種分層樹狀結構,它將頁面的元件排列成對象,由瀏覽器在載入時建立。借助此範例,...
    程式設計 發佈於2024-11-02
  • 開始使用 SPRING BATCH 進行編程
    開始使用 SPRING BATCH 進行編程
    Introduction Dans vos projets personnels ou professionnels, Il vous arrive de faire des traitements sur de gros volumes de données. Le traite...
    程式設計 發佈於2024-11-02
  • 使用 CSS 讓您的 Github 個人資料脫穎而出
    使用 CSS 讓您的 Github 個人資料脫穎而出
    以前,自訂 Github 個人資料的唯一方法是更新圖片或更改名稱。這意味著每個 Github 設定檔看起來都一樣,自訂它或脫穎而出的選項很少。 從那時起,您可以選擇使用 Markdown 建立自訂部分。您可以包括您的履歷、您的興趣和嗜好,讓您的個人資料反映您的身分。這是任何人在訪問您的個人資料時看...
    程式設計 發佈於2024-11-02
  • TypeScript 實用程式類型:增強程式碼可重複使用性
    TypeScript 實用程式類型:增強程式碼可重複使用性
    TypeScript 提供內建實用程式類型,讓開發人員有效地轉換和重複使用類型,讓您的程式碼更加靈活和 DRY。在本文中,我們將探討關鍵實用程式類型,例如 Partial、Pick、Omit 和 Record,以協助您將 TypeScript 技能提升到新的水平。 Partial:使所有屬性可選 ...
    程式設計 發佈於2024-11-02

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3