如何解决为什么在重新部署应用程序后,Firebase会花很长时间才能完成相同的功能? 感谢您的帮助!
摘要
我们正在构建一个在Firebase中托管的应用程序。该应用程序是使用react和next.js构建的,然后通过Firebase Cloud Function将next(因此是该应用程序)提供给客户端。我注意到,在重新部署应用程序后(通常是因为我们要发布它的新版本),为客户端提供服务的功能花费了不可接受的时间来服务于该应用程序。例如,在重新部署之前,执行花费了大约半秒(请参见图1),在重新部署之后,执行花费了大约36秒(请参见图2)。为什么会这样?
代码示例
这是代码块(来自Firebase Functions中的index.js
),它负责通过Cloud Function向客户端提供应用程序:
/**
* Environmental value
* @type {boolean}
*/
var dev = process.env.NODE_ENV !== "production"
/**
* ServerApp
* @type {DevServer}
*/
var app = next({
dev: false,conf: { distDir: `${path.relative(process.cwd(),__dirname)}/next` },})
/**
* Get request handler
*/
var handle = app.getRequestHandler()
/**
* SSR
* @type {HttpsFunction}
*/
exports.next = functions.https.onRequest((req,res) => {
// log the page.js file that is being requested
console.log("File: " + req.originalUrl)
return app.prepare().then(() => handle(req,res))
})
技术堆栈
- “ firebase”:“ ^ 7.14.4”
- “ firebase-admin”:“ ^ 8.12.1”
- “ firebase功能”:“ ^ 3.8.0”
- “反应”:“ ^ 16.8.6”
感谢您的帮助!
解决方法
似乎您在使用Cloud Functions遇到冷门。据我所知,您无法避免,因为您的函数需要在重新部署后首次调用时进行初始化。 This是有关冷启动以及如何最大程度地减少对您的应用的影响的视频。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。