SvelteKit页面选项存放文件及专属文件限制咨询
SvelteKit 页面选项文件放置问题解答
1. 页面选项应放在哪个文件内?客户端或服务端文件均可吗?
大部分页面选项(比如你提到的prerender)既可以放在客户端文件(+page.js、+layout.js),也可以放在服务端文件(+page.server.js、+layout.server.js)里。不过一般更推荐优先放在客户端的+page.js或+layout.js中——毕竟这些文件本身就是页面/布局的核心配置载体,服务端文件更多用来处理服务端专属逻辑(比如表单提交、敏感数据获取)。如果同一个选项在客户端和服务端文件都定义了,SvelteKit会优先采用服务端文件里的配置。
2. 是否存在只能放在服务端或客户端文件中的页面选项?
有的,部分选项受逻辑场景限制,只能放在特定类型的文件里:
- 只能放服务端文件的选项:比如
csrf(配置跨站请求伪造防护),这类选项涉及服务端安全逻辑,客户端文件无法承载相关配置逻辑,所以只能在+page.server.js或+layout.server.js里定义。 - 只能放客户端文件的选项:比如
ssr(控制是否开启服务端渲染)、hydrate(控制是否执行客户端 hydration),这些选项是用来调控客户端渲染行为的,在服务端文件里定义不会生效,必须放在+page.js或+layout.js中。
内容的提问来源于stack exchange,提问作者Yan
相关产品推荐
相关产品推荐

