簡體   English   中英

package.json 在 Z3A580F1422036767F6324D54Z 上部署節點 api 問題

[英]package.json issue while deploying a node api on Azure App Service

我希望使用 Github 操作在 Azure 應用服務上部署節點 api。 我希望部署的應用程序位於存儲庫的名為“api”的子文件夾中。

Github Actions 部分工作正常,但網站無法正常工作,當我查看日志時,它顯示此錯誤:“錯誤:找不到模塊 '../package.json'”。

該應用程序應該在./ 中尋找 package.json,我不知道它為什么在../ 中搜索。

這是我的 Github 操作 yaml:

# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions

name: Build and deploy Node.js app to Azure Web App - hobbeez

on:
  push:
    branches:
      - main
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
        

    steps:
      - uses: actions/checkout@v2

      - name: Set up Node.js version
        uses: actions/setup-node@v1
        with:
          node-version: '16.x'

      - name: npm install, build, and test
        run: |
          npm install
          npm run build --if-present
        working-directory: api

      - name: Upload artifact for deployment job
        uses: actions/upload-artifact@v2
        with:
          name: node-app
          path: .

  deploy:
    runs-on: ubuntu-latest
    needs: build
    environment:
      name: 'Production'
      url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}

    steps:
      - name: Download artifact from build job
        uses: actions/download-artifact@v2
        with:
          name: node-app

      - name: 'Deploy to Azure Web App'
        id: deploy-to-webapp
        uses: azure/webapps-deploy@v2
        with:
          app-name: 'hobbeez'
          slot-name: 'Production'
          publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_16C52153CB9348578BF747E038921ED6 }}
          package: .

我在存儲庫的根目錄中添加了一個“.deployment”文件,以指定它應該部署“api”子文件夾,這是該文件包含的內容:

[config]
project = api

我試圖尋找答案數周,但我沒有設法找到解決方案。 有誰知道我做錯了什么?

提前致謝。

  • 我已經使用 GitHubActions 在 Azure 應用服務上部署了節點 api
  • 您的源文件index.jsapp.js文件必須在src文件夾下在此處輸入圖像描述
  • package.json中,根據您的腳本將啟動腳本添加為index.jsapp.js
"start": "node src/index.js",

在此處輸入圖像描述

 [config] project = api

是的,您指定的方式對於部署子文件夾是正確的。

  • 部署子文件夾內容的另一個選項是在子文件夾中創建一個新存儲庫並使用 Azure CI/CD 進行部署。

找不到模塊'../package.json

刪除node_modules文件夾和package-lock.json並再次運行npm install

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM