簡體   English   中英

Vercel Serverless function 在訪問 req.body 時導致“找不到模塊‘content-type’”

[英]Vercel Serverless function results in "Cannot find module 'content-type'" when accessing req.body

我將 NextJS 與 Vercel Serverless 一起使用,如此答案中所述 - https://stackoverflow.com/a/63659707/2826679 當我使用vercel dev在本地運行它或將其部署到 vercel 服務器時,我的 NodeJS function 失敗並顯示一條錯誤消息。

我的<PROJECT_ROOT>/api/report.ts看起來像這樣,它無法打印“3 req.body”。

import type { VercelRequest, VercelResponse } from '@vercel/node';

export default async function handler(req: VercelRequest, res: VercelResponse) {
  if (req.method === 'POST') {
    console.log("1")
    console.log("2", req)
    console.log("3", req.body)

    const data = {
      test: "test"
    };

    return res.status(200).setHeader('content-type', 'application/json').end(JSON.stringify(data));
  } else {
    return res.status(404);
  }
}

錯誤:

Unhandled rejection: Error: Cannot find module 'content-type'
Require stack:
- /Users/piotr/.config/yarn/global/node_modules/@vercel/node-bridge/helpers.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1039:15)
    at Function.Module._resolveFilename.sharedData.moduleResolveFilenameHook.installedValue [as _resolveFilename] (/Users/piotr/.config/yarn/global/node_modules/@cspotcode/source-map-support/source-map-support.js:811:30)
    at Function.Module._load (node:internal/modules/cjs/loader:885:27)
    at Module.require (node:internal/modules/cjs/loader:1105:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at Object.909 (/Users/piotr/.config/yarn/global/node_modules/@vercel/node-bridge/helpers.js:262:33)
    at __webpack_require__ (/Users/piotr/.config/yarn/global/node_modules/@vercel/node-bridge/helpers.js:328:42)
    at parseBody (/Users/piotr/.config/yarn/global/node_modules/@vercel/node-bridge/helpers.js:19:45)
    at IncomingMessage.get [as body] (/Users/piotr/.config/yarn/global/node_modules/@vercel/node-bridge/helpers.js:212:27)
    at handler (/Users/piotr/astrology/astroperspective/api/report.ts:7:26) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/piotr/.config/yarn/global/node_modules/@vercel/node-bridge/helpers.js'
  ]
}

編輯:現在,我認為它必須對 package.json 中的依賴項做一些事情,因為我的 package.json 專門用於 NextJS

您是否有機會找出造成這種情況的原因? 我也遇到了同樣的錯誤。

暫無
暫無

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

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