首頁 >web前端 >js教程 >如何在 Netlify 上部署 Node.js Express 應用程式(4)

如何在 Netlify 上部署 Node.js Express 應用程式(4)

DDD
DDD原創
2024-11-10 10:57:021052瀏覽

Netlify 並不能讓託管 Express Web 應用程式變得容易。我希望您會發現本指南很有用。

步驟

  • 以與以下類似的方式建立您的應用程式:

How to deploy a Node.js Express app on Netlify (4)

  • 遵循本指南 https://docs.netlify.com/frameworks/express/ 。我刪除了node_bundler =“esbuild”,因為它引發了ESM錯誤,無論如何一切都正常運作。
  • 建立 netlify.toml 檔案時,保留特定於 API 和您想要透過 Express 提供服務的任何端點的重定向。一般重定向(即“/*”)會弄亂您的 CDN 和靜態檔案服務。

How to deploy a Node.js Express app on Netlify (4)

  • (可選)使用本機伺服器檔案進行開發,以保持映像更整潔:

How to deploy a Node.js Express app on Netlify (4)

  • package.json 可以如下:

     "scripts": {
        "start": "node ./functions/server.js",
        "build": "netlify deploy --prod",
        "build-dev": "NODE_ENV=development webpack --mode development --watch",
        "dev": "NODE_ENV=development node server-local.js",
        "dev-watch": "NODE_ENV=development nodemon --exec node server-local.js",
    },
    
  • 寫 server.mjs 程式碼,如圖所示:

How to deploy a Node.js Express app on Netlify (4)

  • 在index.html和其餘的.html檔案中,CSS、JS和其他資產的路徑最好設定為CDN,它可以在開發和生產中使用,即:


  • 奔跑吧 網路化開發 部署前在控制台進行測試

主要教訓

  • server.js 或 server.mjs 應用程式只能存取 /netlify/functions。除非使用指令在 netlify.toml 檔案中明確指定,否則「public」或「dist」或「static」資料夾不會加入 netlify 資料夾中
[functions]
  included_files = [
    "static/views/**"  # Include all files in static/views for server-side access
  ] 
  • Netlify 的 CDN 可以更好地提供靜態資產,如果在 netlify.toml 檔案中使用命令,這會自動發生
[build]
  publish = "static"  # Static assets to be served by Netlify's CDN. Folder defaults to public
  • 路由器端點以外的Console.log語句不會顯示在控制台上。

以上是如何在 Netlify 上部署 Node.js Express 應用程式(4)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn