_default.page.*

_default.page.* 文件允许我们定义适用于所有页面的 hook 和设置

例如,我们通常会在 _default.page.server.js 中定义一个 render() hook,以便定义我们的页面如何渲染为 HTML

// /renderer/_default.page.server.js
// Environment: Node.js

// 这个 `render()` hook 应用于所有页面
export async function render(pageContext) {
  return escapeInject`<!DOCTYPE html>
    <html>
      <head>
        <title>My SSR App</title>
      </head>
      <body>
        <div id="root">${dangerouslySkipEscape(renderToHtml(pageContext.Page))}</div>
      </body>
    </html>`
}

_default.page.route.js

_default.page.route.js 文件允许我们控制路由过程,详见 _default.page.route.js

多个 defaults

可以有多个 defaults:

marketing/renderer/_default.page.server.js
marketing/renderer/_default.page.client.js
marketing/pages/index.page.js
marketing/pages/about.page.js
marketing/pages/jobs.page.js

admin-panel/renderer/_default.page.server.js
admin-panel/renderer/_default.page.client.js
admin-panel/pages/index.page.js

marketing/_default.page.* 文件默认应用于 marketing/**/*.page.js,而 admin-panel/_default.page.* 默认应用于 admin-panel/* */*.page.js