我对Remix.run很感兴趣,但有一件事我真的不明白。在对该框架的技术解释中,它说:
虽然Remix在服务器上运行,但它实际上不是服务器。它只是一个提供给实际JavaScript服务器的处理程序。 它构建在Web上,而不是Node.js上。这使Remix能够在任何Node.js服务器上运行,如Vercel、Netlify、Architect等,以及Cloudflare和Deno部署等非Node.js环境。
所以..。后端是否是Node.js服务器?如果不是..。它如何在后端执行JS?我觉得上述解释有点矛盾。
发布于 2022-04-12 08:45:00
混合是用许多不同的适配器构建的(不确定这是否是官方术语,但适配器的概念是合适的)。这使得混合可以交换其体系结构的一部分,使remix“适合”。这些适配器包的例子有remix,,等等。它们都用于将这些平台上的请求/事件的不同接口转换为Remix的请求/响应模型(从而获取)。
前面提到的所有适配器都是基于节点的环境,但Remix也有一些非节点环境的适配器。例如,Cloudflare工人是一个适配器,旨在使Cloudflare Workers环境与Remix友好相处。Cloudflare没有在Node上运行,实际上它甚至不是服务器,而是由事件触发的javascript函数。工作人员直接运行在V8 JavaScript引擎上,Chrome和Node使用该引擎运行Javascript。
所以是的,Remix可以作为服务器在NodeJS环境中运行,但是由于它的适配器结构,它还可以为非NodeJS环境提供适配器,以及be (无服务器)函数等等。
有趣的是,即使是混合反应也是一个独立的包(适配器),允许Remix团队(或社区)在未来为其他前端框架实现适配器!
https://stackoverflow.com/questions/71811602
复制相似问题