Quasar CLI with Webpack - @quasar/app-webpack
当部署一个 SPA 或者 PWA 时,Quasar CLI 打包生成的产物目录可以直接放到一个静态 Web 服务器上即可。然而 SSR(服务端渲染)构建的产物却不能这样做。SSR 的产物中还包含了一个生产环境的 Web 服务器——您可以在 /src-ssr 中对其进行调整。
默认情况下,SSR 产物使用 Express 作为服务端框架,但您也可以替换成自己喜欢的 Web 服务器。
Serverless
如果您需要将 SSR 部署到 Serverless 服务上,请先阅读 SSR Production Export 页面了解如何为此做准备。
产物目录
在 SSR 模式下构建应用程序后($ quasar build -m ssr),生成的文件夹中包含一个独立的 Web 服务器,专门用于提供 SSR 服务。
您会发现产物中有一个独立的 package.json 文件,其中定义了一个名为 “start” 的 npm 脚本:
"scripts": {
"start": "node index.mjs"
}content_paste
所以部署时,您只需要将这个产物文件夹复制到服务器上,在其中执行 yarn/npm install 安装依赖,然后运行 $ yarn start。这会启动 Web 服务器并开始监听连接。
提示
构建生成的产物文件夹是完全独立的。它不需要项目的其余源代码,也不依赖于 @quasar/cli。
优化性能
默认情况下,Web 服务器仅使用服务器的一个 CPU 核心。如果您想让它利用所有核心,可以使用 PM2 来实现。
在服务器上安装 PM2 后,将 npm start 脚本修改为:
"scripts": {
"start": "pm2 start index.mjs"
}content_paste
部署到 Cleavr
您可以使用 Cleavr 将 Quasar SSR 应用部署到多个主流的 VPS 提供商。Cleavr 会自动为您的应用配置集群模式的 PM2。
在 Cleavr 上新建一个 NodeJS SSR 站点,然后使用以下配置:
- Entry point: index.js
- Build command: npx quasar build --mode ssr
- Artifact path: dist/ssr