You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署在AWS Amplify的Next.js应用ISR功能失效求助

Next.js应用部署到AWS Amplify后ISR(增量静态再生)功能失效问题

我将一款Next.js应用部署至AWS Amplify,本地构建和运行时ISR功能正常,但部署后该功能失效。已确认DynamoDB中存在新数据,且页面的getStaticProps中已设置revalidate: 60,但页面仍未重新生成。此外,未找到该应用对应的Lambda函数。

尝试过手动部署及通过GitHub CI/CD部署,也完全移除应用后重新部署多次,但问题依旧。


使用SSG+ISR的页面getStaticProps代码

export const getStaticProps: GetStaticProps<{
  menu_data: string
}> = async () => {
  const days = [
    "Montag",
    "Dienstag",
    "Mittwoch",
    "Donnerstag",
    "Freitag",
    "Samstag",
    "Sonntag",
  ]

  const menuData: { menu_data: Array<Array<IMenuItem>> } = {
    menu_data: [[], [], [], [], [], [], []],
  }

  try {
    for (let i = 0; i < 7; i++) {
      const fetchedDayMenu = (await API.graphql(
        graphqlOperation(dayMenuByTitle, { title: days[i] })
      )) as { data: DayMenuByTitleQuery }

      const dayMenuItem = fetchedDayMenu.data.dayMenuByTitle?.items[0]
      let dayMenuId = ""
      if (dayMenuItem?.id) {
        dayMenuId = dayMenuItem.id
      }

      if (dayMenuId !== "") {
        const response = (await API.graphql(
          graphqlOperation(dishesByDayMenuID, { dayMenuID: dayMenuId })
        )) as { data: DishesByDayMenuIDQuery }

        if (response.data && response.data.dishesByDayMenuID) {
          const fetchedDishes = response.data.dishesByDayMenuID.items

          for (const index in fetchedDishes) {
            const dish = fetchedDishes[index]
            if (dish) {
              const parsedDish = {
                dish_text: dish.dish_text,
                price: dish.price,
                isVegetarian: dish.isVegetarian,
              }

              menuData.menu_data[i].push(parsedDish)
            }
          }
        }
      }
    }
  } catch (e) {
    console.log(e)
  }

  return {
    props: { menu_data: JSON.stringify(menuData) },
    revalidate: 60,
  }
}

package.json配置

{
  "name": "app-name",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build && next export ",
    "start": "next start",
    "lint": "next lint"
  },
  "dependencies": {
    "@aws-amplify/ui-react": "^5.0.4",
    "@types/formidable": "^2.0.6",
    "@types/mime": "^3.0.1",
    "@types/node": "18.15.11",
    "@types/react": "18.0.31",
    "@types/react-dom": "18.0.11",
    "amplify": "^0.0.11",
    "aws-amplify": "^5.3.3",
    "eslint": "8.37.0",
    "eslint-config-next": "13.2.4",
    "framer-motion": "^10.12.17",
    "mime": "^3.0.0",
    "next": "13.2.4",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-icons": "^4.8.0",
    "sharp": "^0.32.1",
    "swr": "^2.1.5",
    "typescript": "5.0.2"
  },
  "devDependencies": {
    "@typescript-eslint/eslint-plugin": "^5.57.1",
    "eslint-config-prettier": "^8.8.0",
    "husky": "^8.0.3",
    "lint-staged": "^13.2.1",
    "prettier": "^2.8.7",
    "sass": "^1.62.0"
  }
}

内容的提问来源于stack exchange,提问作者DrGregoryHouse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 14:52:51