标签: vercel

如何使用无服务器功能获取 RAW Body?

我正在 Zeit Now 上从 Express 迁移到无服务器功能。

Stripe webhook 文档要求提供原始正文请求,使用 Express 时我可以通过 bodyParser 获取它,但是它如何在无服务器功能上工作?如何以字符串格式接收正文以验证条带签名?

支持团队将我重定向到这个文档链接,我很困惑,据我所知,我必须传入text/plain请求标头,但我无法控制它,因为 Stripe 是发送 webhook 的那个。

export default async (req, res) => {
    let sig = req.headers["stripe-signature"];
    let rawBody = req.body;
    let event = stripe.webhooks.constructEvent(rawBody, sig, process.env.STRIPE_SIGNING_SECRET);
    ...
}
Run Code Online (Sandbox Code Playgroud)

在我的函数中,我req.body作为一个对象接收,我该如何解决这个问题?

node.js serverless vercel

8
推荐指数
1
解决办法
573
查看次数

尽管代码在开发模式下工作,但 Vercel 504 错误网关错误页面

因此,我基于这个NextJS 示例构建了一个 Next 应用程序,这意味着我有 GraphQL 路由和一个用于从应用程序中的 API 获取数据的 Apollo 服务器。该示例展示了如何在 getStaticProps() 中获取,这对我来说效果很好,但我需要实现 getServerSideProps(),因为提供的内容取决于 URL 查询和参数,最多有 6000 个不同的 URL,因此我无法使用 getStaticPaths()。该代码在开发模式下工作完全正常...但是,当部署到 Vercel 时,它在开始时工作,有时在稍后工作,但 95% 的时间在页面上显示 504 BAD GATEWAY 错误。

[s]/[v].tsx 的代码:https://pastecord.com/uwojuzudaw.typescript

apollo server-side-rendering next.js vercel getserversideprops

8
推荐指数
0
解决办法
817
查看次数

Vercel 应用程序出现 graphql-codegen 端点错误无法找到以下指针的任何 GraphQL 类型定义

我加载 GraphQL 架构,如下所示:

const schema = loadSchemaSync('./src/graphql/server/schema/*.gql', {
  loaders: [new GraphQLFileLoader()],
})
Run Code Online (Sandbox Code Playgroud)

这在本地工作正常,但是,当部署到 vercel 时,我收到错误:

Unable to find any GraphQL type definitions for the following pointers:
          - ./src/graphql/server/schema/*.gql
Run Code Online (Sandbox Code Playgroud)

我认为这是因为 vercel 在构建后删除了相关文件?

graphql next.js vercel graphql-codegen

8
推荐指数
1
解决办法
1144
查看次数

使用 NextJS 在 Vercel 上重新验证不起作用

我使用 Vercel 文档中提供的示例,每 15 秒从 MongoDB 获取一次数据,但不幸的是该函数不起作用。我应该怎么做才能使其按预期工作?

export async function getStaticProps() {
  const allData = getSortedData();

  const client = await clientPromise;
  const isConnected = await client.isConnected();
  const alerts = await client.db()
    .collection("alerts")
    .find({})
    .limit(6)
    .toArray();
  const alertsData = JSON.parse(JSON.stringify(alerts));

  return {
    props: {
      allData,
      isConnected,
      alertsData
    },
    revalidate: 15,
  };
}
Run Code Online (Sandbox Code Playgroud)

mongodb reactjs next.js vercel getstaticprops

8
推荐指数
1
解决办法
3833
查看次数

无法使用工作区将 Next.js monorepo 部署到 Vercel

npm当我尝试使用或工作区将现有 Nextjs 应用程序转换为单一存储库时,我遇到了 Vercel 部署问题yarn。更改为 monorepo 后,我的构建由于包Not found问题而失败。

\n

您可以在 GitHub 上的monorepo-testing分支中查看完整的存储库。

\n

我基本上有两个 npm 包:

\n
    \n
  • proposals.es:这个包是实际的 Next.js 应用程序(位于./website文件夹中)
  • \n
  • @common/components:这个包包含简单的React组件(位于./common/components文件夹中)
  • \n
\n

当前的文件夹结构如下所示:

\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 next-env.d.ts\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 package-lock.json\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 package.json\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 common\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 components \n\xe2\x94\x82       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 index.ts\n\xe2\x94\x82\xc2\xa0\xc2\xa0     \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 package.json \n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 website \n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 next.config.js\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 package.json\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 tsconfig.json\n
Run Code Online (Sandbox Code Playgroud)\n

为了使应用程序正确安装并在本地成功运行,我npm install --workspaces从根级别运行,然后npm run dev从内部运行website以启动服务器。

\n
\n

我已完成以下步骤来尝试让这个新的 monorepo …

next.js vercel

8
推荐指数
1
解决办法
5286
查看次数

NextJs Next.config.mjs 导入本地常量文件

在next.config中导入本地文件

问题

您好,我们面临的问题是想要创建一个动态的下一个配置。当我们不导入任何文件时,这工作正常,但当尝试在 next.config.mjs 中导入常量文件时,事情就会崩溃。

我们使用下一个版本 12.1,以便使用配置文件的 MJS 变体。

常量文件是一个简单的 JS 文件,其中包含一些值来确定我们支持的不同品牌需要使用的区域设置。这些值在多个地方使用,这就是为什么我们不想在这里对这些值进行硬编码。

import { locales } from './src/constants/locales'; // It breaks on this import

const currentPlatform = process.env.NEXT_PUBLIC_PLATFORM;

module.exports = () => ({
  i18n: {
    localeDetection: false,
    ...locales[currentPlatform],
  },
  images: {
    domains: [
      // Our domains
    ],
  },
  async rewrites() {
    return [
      // Our rewrites
    ];
  },
  webpack: (config, { defaultLoaders }) => {
    config.module.rules.push(
      // Our config
    );

    return config;
  },
});
Run Code Online (Sandbox Code Playgroud)

错误信息

这是我们尝试启动开发服务器时抛出的错误,表明导入路径错误。(它不是。)

error - Failed to …
Run Code Online (Sandbox Code Playgroud)

javascript config reactjs next.js vercel

8
推荐指数
1
解决办法
5074
查看次数

NextJs vercel部署错误“routes-manifest.json”找不到

我的 nextjs 应用程序工作正常,我添加了一些文件来更新我的代码,现在它没有在 vercel 上部署我的应用程序。给出这个错误

在此输入图像描述

我尝试用谷歌搜索错误,但我的情况很独特。

这是 git 存储库 https://github.com/usman-174/google-calendar-frontend

这些是我的 package.json 中的脚本标签

 "scripts": {
"dev": "next",
"build": "next build",
"start": "next start",
"export": "next export",
"lint": "next lint",
"lint-fix": "next lint --fix"
},
Run Code Online (Sandbox Code Playgroud)

next.config.js

module.exports = {
distDir: 'build',
}
Run Code Online (Sandbox Code Playgroud)

deployment node.js reactjs next.js vercel

8
推荐指数
2
解决办法
1万
查看次数

404:Vercel 部署上的 NOT_FOUND

我使用 chakra-UI 和 Three.js 构建了一个 web3 应用程序。我在网站上添加了元掩码集成,这有助于在智能合约上铸造 NFT。

当我做,

npm run dev
Run Code Online (Sandbox Code Playgroud)

在我的机器上,我的代码运行得非常流畅。我没有看到任何错误,localhost:3000而当我使用 vercel 部署网站时,我一次又一次收到此错误,其中显示Code NOT_FOUND 以下是该错误的屏幕截图:

错误图像

我通过 VSCode 终端使用以下命令部署了网站

vercel
Run Code Online (Sandbox Code Playgroud)

命令。

我选择了执行此命令后出现的所有内容作为默认值。

单击此处了解有关此错误的更多信息也没有帮助。

我还尝试通过物理访问 vercel 网站并导入 github 存储库来部署它,但这也不起作用。

错误页面 URL 为:- https://minting-website-frontend.vercel.app/

谁能帮我克服这个错误,我被困在这里这么久了

javascript deployment reactjs server vercel

8
推荐指数
2
解决办法
2万
查看次数

无法解析私钥:错误:无效的 PEM 格式消息

我正在尝试在 Vercel 上部署一个使用 firebase-admin 的 NEXT JS 应用程序。

\n
import * as firebaseAdmin from \'firebase-admin\';\nimport firebase from \'firebase/app\';\n\nif (!firebaseAdmin.apps.length) {\n  firebaseAdmin.initializeApp({\n    credential: firebaseAdmin.credential.cert({\n      privateKey: process.env.NEXT_PUBLIC_FIREBASE_PRIVATE_KEY,\n\n      clientEmail: process.env.NEXT_PUBLIC_FIREBASE_CLIENT_EMAIL,\n\n      projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,\n    }),\n\n    databaseURL: process.env.NEXT_PUBLIC_FIREBASE_DATABASE_URL,\n  });\n}\n
Run Code Online (Sandbox Code Playgroud)\n

当我将其部署到 vercel 时,环境变量如下:

\n
NEXT_PUBLIC_FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\\n....\\n-----END PRIVATE KEY-----\\n"\n
Run Code Online (Sandbox Code Playgroud)\n

钥匙

\n

我收到此错误消息。

\n
NEXT_PUBLIC_FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\\n....\\n-----END PRIVATE KEY-----\\n"\n
Run Code Online (Sandbox Code Playgroud)\n

但是npm run build在本地运行构建没有错误。

\n
.env.local\ninfo  - Linting and checking validity of types  \ninfo  - Creating an optimized production build  \ninfo  - Compiled successfully\ninfo  - Collecting …
Run Code Online (Sandbox Code Playgroud)

firebase next.js vercel

8
推荐指数
1
解决办法
2857
查看次数

NextJS Vercel部署错误Nested Middleware is not allowed,发现:pages/_middleware

突然我的中间件在部署中停止工作。错误是:

> Build error occurred
NestedMiddlewareError: Nested Middleware is not allowed, found:
pages/_middleware
Please move your code to a single file at /middleware instead.
Run Code Online (Sandbox Code Playgroud)

Vercel 声明是:例如,pages/about/_middleware.ts 中的中间件可以将逻辑移动到存储库根目录中的 /middleware.ts。然后,可以使用条件语句仅在与 about/* 路径匹配时运行中间件:

当我使用pages/_middleware.ts运行本地构建时,它完成时没有错误,就像今天在生产中所做的那样。如果我将其更改为本地的pages/middleware.ts,则会失败:

./pages/middleware.ts
2:1  Error: next/server should not be imported outside of pages/_middleware.js. See: https://nextjs.org/docs/messages/no-server-import-in-page  @next/next/no-server-import-in-page
Run Code Online (Sandbox Code Playgroud)

中间件文件:

import { getToken } from "next-auth/jwt";
import { NextRequest, NextResponse } from "next/server";

export async function middleware(req: NextRequest, res: NextResponse) {
  if (req.nextUrl.pathname === "/") {
    const session = await getToken({
      req,
      secret: process.env.JWT_SECRET, …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs next.js vercel

8
推荐指数
1
解决办法
1万
查看次数