15 hours ago
- React Server Components 通过使用 'use client' 和 'use server' 指令扩展了 JavaScript 模块系统,以管理客户端/服务器分离。
- JavaScript 模块是单例的——每个模块最多执行一次,防止代码重复并确保私有状态得以保留。
- 在后端和前端之间共享代码涉及两个独立的模块系统;重用代码分别存在于每个环境中。
- 来自不兼容代码(例如在前端使用 'fs')的构建失败是有益的,因为它们迫使开发人员尽早解决冲突。
- 'server-only' 和 'client-only' 毒丸作为标记,如果模块被拉入错误的环境,则会失败构建,并且会传递性地传播。
- 'use client' 指令创建了一个通往前端的大门,允许后端代码引用前端模块,而无需将它们引入后端。
- 'use server' 指令创建了一个通往后端的大门,允许前端代码引用后端模块,而无需将它们引入前端。
- 这些机制共同让开发人员将 RSC 应用程序视为一个跨越两台计算机的单一程序,具有独立的模块系统和受控的数据传递。