- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个像 Medium 克隆的多用户博客网站,当用户从网站本身的 Web UI 创建一个新的博客页面时,我希望它的 HTML 被静态预渲染并从缓存中提供 future 在像 /posts/[user]/[pid]
这样的动态路由下,我无需重新启动服务器或运行任何自定义手动命令来重建静态呈现的缓存。
同样的问题会出现在增量静态生成中,我可能只想在构建时预呈现最活跃查看页面的一个子集。
在本地运行时,生成的预渲染文件将存储在 .next/server/pages
下的本地文件系统中(尽管我在 https://github.com/vercel/next.js/tree/c7596be786ebe1fa5860c0f5efd7781faae0f931/examples 下找不到明确的示例,其中页面在运行时生成)。
但是,在部署时,例如对于 Heroku 和其他 PaaS 系统,我肯定需要一种方法来指定这些新生成的 HTML 页面的存储位置,某种推送/获取适配器,因为 Heroku's filesystem is ephemeral , 而 .next/
下的那些文件不是在构建时由 next build
生成的,它们可以随时随机消失。也许 Next 只会重新生成它们而用户不会注意到,但我不想打赌,至少会有一些性能影响。所以我可能会使用 Amazon AWS S3 之类的东西来存储这些静态 Assets 。
这是否可能或在某处记录?
我能找到的一些可能相关的主题:
How to use AWS with Next.js?我认为这只讨论在构建时生成的页面,而不是运行时
https://vercel.com/docs/next.js/incremental-static-regeneration
https://www.reddit.com/r/nextjs/comments/mvvhym/a_complete_guide_to_incremental_static/
https://github.com/vercel/next.js/discussions/11552#discussioncomment-115595
https://dev.to/givehug/next-js-apollo-client-and-server-on-a-single-express-app-55l6
https://github.com/serverless-nextjs/serverless-next.js应该在某个地方做,因为无服务器通常意味着临时文件系统。他们的自述文件说他们使用 Next.js 无服务器 API https://nextjs.org/blog/next-8#serverless-nextjs但我找不到关于如何在不使用该存储库的情况下执行此操作的明确文档
此外,该项目确实声称在其自述文件中处理 ISR。
最佳答案
我最终了解了有关 Next.js What is the difference between fallback false vs true vs blocking of getStaticPaths with and without revalidate in Next.js? 的更多信息,这让我的脑海中清晰了一些东西。
首先,ISR 确实会在每次页面命中时触发重建(第 n 个宽限期除外)。但我想要的是一种机制:
当用户更新页面时,使 CDN/S3 失效。更一般地说,我需要对“哪些用户操作可能会改变页面呈现方式”的依赖关系图进行编码,并且他们中的任何一个都必须更改页面。功能请求:https://github.com/vercel/next.js/discussions/11698
如果 CDN/S3 不包含页面,我希望它以某种方式联系我的服务器,以便它可以第一次生成页面,然后将其返回给用户,并更新 CDN
我不确定 CDN 是否具有该功能,尽管 https://formidable.com/blog/2019/modern-cdns-lambda/ 的“更现代的 CDN”中提到的功能可能允许它
我还使用标准 ISR https://github.com/cirosantilli/node-express-sequelize-nextjs-realworld-example-app/tree/63150b632f5e6feda8ba3b8029e22de25543f162 在 Heroku 上启动了测试,它似乎运行正常,所以当文件系统被破坏时可能会发生的最糟糕的事情是我会丢失一些缓存。它没有我想要实现的设置那么令人惊奇,但由于 CDN 功能,我不确定这是否可能实现,所以我将从标准 ISR 开始,看看它是如何进行的。
关于heroku - 如何设置运行时生成的新页面的预呈现 HTML 在 Next.js 中使用增量静态生成 (ISR) 存储的位置,例如AWS S3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67684780/
我有一段用于 PIC 设备的 C 代码,它按照预定义的模式驱动 4 个独立的继电器,每个继电器通过计数次数和发生频率来单独设置。这种模式会无限延续,但发现标准delay_ms 上的计时不够准确。我希望
我对这种宏尝试有疑问: #define ISR(x) #pragma isr=x 无法编译,因为它试图用不存在的参数替换 #pragma。有什么办法可以实现我想要做的事情吗?我想将 ISR(VEC1)
我现在使用的是嵌入式产品,即 PIC32 Microchip CPU。 我熟悉几个实时内核:AVIX , FreeRTOS , TNKernel ,并且在所有这些函数中,几乎所有函数都有 2 个版本:
我正在调试 arm-family cpu (Cortex M3) 上的固件。 调试器显示 CPU 寄存器,包括一个称为“xPSR”的寄存器,其中包含一个称为“ISR”的子字段。 CPU寄存器中的模式是
我有以下设置经纪人:3 - 全部启动并运行 min.insync.replicas=3。 我创建了一个topic,配置如下 bin\windows\kafka-topics --zookeeper 1
我有以下设置经纪人:3 - 全部启动并运行 min.insync.replicas=3。 我创建了一个topic,配置如下 bin\windows\kafka-topics --zookeeper 1
我有一个带有3个kafka节点和3个zk节点的kakfa集群。 生产者在AWS机器上尝试将数据推送到我的Intranet服务器上运行的kafka集群上。 使用以下命令从控制台创建主题(JOB_AWS_
在mspgcc中声明中断处理程序的首选方法是什么? 最佳答案 请澄清一下,因为这是Google的早期结果。 __attribute__((__interrupt__(TIMER0_A0_VECTOR)
在 ISR 内设置断点是否合法/可能?或者这是特定于硬件的? 最佳答案 是的,这是完全合法的,但是由于其他 ISR 没有及时触发,例如 USB,可能会出现一些小问题。 关于embedded - ISR
我正在使用 Hi-Tech-PICC v9.65PL1 进行 C 语言编程,对 PIC16F876 进行编程。 对于中断,我使用以下结构: void interrupt isr() { if
被零除错误未调用 ISR0。 我的内核主要从 boot.s 调用 void kernel_main() { gdt_install(); idt_install(); isrs_
我用8051的硬件中断0编写了一个简单的led闪烁代码。当按钮被按下时,它进入中断服务程序(ISR)。执行后它应该返回到主函数中,但它没有出现。这是我的c代码。任何积极的答复将不胜感激。 sbit L
在特定的 ISR 之后是否有任何(脏)方法来触发上下文切换到特定的进程? 在正常情况下,在 ISR 之后,被中断的进程会继续运行,我必须等待调度程序选择那个特定的进程。我想在 ISR 之后立即切换到具
我有一个非常简单的程序让我很头疼。 一些背景:我正在 atmelstudio 6 中对 arduino Uno“Atmega328P”进行编程。我在 debugwire 模式下使用 JTAGICE m
有没有一种方法可以从定时器 ISR 中操纵堆栈?所以我可以通过强制退出长时间运行的函数来丢弃堆栈的最高帧吗? (我知道在这种情况下会丢失堆分配的内存) 目标可能是 ARM CPU。 最好的问候 最佳答
我正在研究操作系统,我遇到了 ISR 和中断处理程序这两个术语。他们是同一个机制的两个词吗?如果不是,有什么区别? 最佳答案 中断处理程序和 ISR 没有区别。 Wiki说: In computer
是否可以使用类方法作为中断服务程序? 我有一个 ISR 编写并使用一个函数在 C 中工作: static void interrupt far ISR(...) {} 我尝试在 C++ 中创建
我正在尝试实现该功能 unsigned int (*poll) (struct file *filp, poll_table *wait); 在我的驱动程序中。我已经使用 将设备的文件描述符添加到等待
使用 RTOS(前 FreeRTOS)时,我们为每个线程提供单独的堆栈空间。那么ISR(中断服务程序)呢,它们在内存中是否有单独的堆栈?或者这是可配置的? 如果他们没有一个堆栈来存储 ISR 中声明的
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
我是一名优秀的程序员,十分优秀!