Servite
是一个可用于 React SSR、SSG、CSR 的 Vite 插件,并且在开启 SSG 后支持使用 孤岛架构
以获得更好的页面性能。
Servite 实现孤岛架构
的很多灵感来源于 Astro 和 Islands.js。
如果是想快速搭建静态文档站,推荐直接使用 Island.js,因为它有一个开箱即用的非常精美的文档主题。
其实使用 Servite 来搭建文档站也是完全可以的,但 Servite 没有自带文档主题,所以需要你从零开始写更多的组件、样式等, 当然,你也可以复制你眼前的这个 Servite 文档项目,然后在此基础上进行修改。
# npm 6.x
npm create servite my-app --ts
# npm 7+, extra double-dash is needed:
npm create servite -- my-app --ts
# yarn
yarn create servite my-app --ts
# pnpm(后续操作均以 pnpm 作为示例)
pnpm create servite my-app --ts
# npm 6.x
npm create servite my-app --ts
# npm 7+, extra double-dash is needed:
npm create servite -- my-app --ts
# yarn
yarn create servite my-app --ts
# pnpm(后续操作均以 pnpm 作为示例)
pnpm create servite my-app --ts
执行上面的命令会在目录 my-app
里用 Vite 的 react-ts
模板来初始化项目。你也可以把上面的 my-app
替换成 .
,这样项目就会在当前目录进行初始化了。
尽管我推荐新项目都是用 TypeScript,但如果你还是不想用的话,可以去掉上面命令里的 --ts
,这样就会改为使用 Vite react
模板来初始化项目了。
经过第一步后,可以 cd my-app
进入项目目录,然后执行下面的命令安装依赖:
pnpm i
pnpm i
通过如下命令启动 Vite 的 dev server:
pnpm dev
pnpm dev
这样 Vite 将在 http://127.0.0.1:5173/ 启动开发服务。
通过以下命令构建生产环境的产物:
pnpm build
pnpm build
默认情况下产物会被打包到 dist
目录。
其中的 dist/.output
是 Nitro 的产物目录,你可以将这个目录直接部署到服务器上运行。
在上面的生产构建命令运行完成后,控制台最后会输出一句提示:
✔ You can preview this build using node dist/.output/server/index.mjs`
✔ You can preview this build using node dist/.output/server/index.mjs`
所以你可以按照此提示,执行命令进行预览:
node dist/.output/server/index.mjs
node dist/.output/server/index.mjs