簡體   English   中英

Next.js 上 Firebase 功能與 Typescript

[英]Next.js on Firebase Functions with Typescript

我正在嘗試將Next.js應用程序部署到Firebase Functions

import next from 'next'
import {https} from 'firebase-functions'

const server = next({
  dev: process.env.NODE_ENV !== 'production',
  conf: {distDir: '.next'}
})

const nextjsHandler = server.getRequestHandler()

exports.app = https.onRequest(async (req, res) => {
  await server.prepare()
  return await nextjsHandler(req, res)
})

問題是 Typescript 在以下兩個地方抱怨:

  1. 對於行conf: {distDir: '.next'}它顯示以下錯誤(這很奇怪,因為我在Next.js 源中發現NextConfig應該接受distDir ):

    Type '{ distDir: string; }' is not assignable to type 'NextConfig'.

  2. 對於行return await nextjsHandler(req, res) ,特別是res

    Type error: Argument of type 'Response<any>' is not assignable to parameter of type 'ServerResponse'. Property 'req' is optional in type 'Response<any>' but required in type 'ServerResponse'.

我真的很感激解決這兩個問題的任何幫助。 謝謝!

  • 在查看您的代碼后,我相信您正在關注此博客此 github 鏈接以將您的 Next JS 應用程序部署到 Firebase Function。
  • 我跟着他們兩個,起初在 function 代碼中遇到錯誤,因為代碼使用const isDev = process.env.NODE_ENV;== 'production'; 但是在關注博客之后,我發現應用程序中沒有環境變量,這是導致代碼錯誤的原因。
  • 所以我在應用程序添加了一個空的.env文件和一個.env.sample文件,之后我可以毫無錯誤地部署 function。
  • 因此,除了上述內容之外,我在您提供的代碼中沒有看到任何錯誤。

暫無
暫無

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

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