SSR部署

当部署为SPA或PWA时,由Quasar CLI生成的可分发文件夹可以由静态Web服务器提供。 但是,对于SSR(服务器端渲染)版本,情况并非如此。 在这种情况下,您的可分发内容也包含您的生产版本WEB服务器——可以从/src-ssr中进行调整。

默认情况下,SSR可分发内容使用Express,但是您可以将其替换为您选择的Web服务器。

可分发文件夹

在以SSR模式构建应用程序($ quasar build -m ssr)之后,生成的文件夹包含一个经过调整以与SSR一起使用的独立WEB服务器。

您会注意到它包含一个自己的package.json文件。 它定义了一个npm脚本,称为“start”:

"scripts": {
  "start": "node index.js"
}

因此,部署时您需要做的就是将这个可分发文件夹复制到您的服务器上,在其中yarn/npm install依赖项,然后运行$ yarn start。 这会启动Web服务器并开始侦听连接。

TIP

构建应用程序后生成的可分发文件夹是独立的。 它不需要您项目文件夹的其余部分即可工作,也不依赖于已安装的@quasar/cli

提升性能

默认情况下,Web服务器仅在可用服务器内核之一上面运行。 您可以做的是使它使用所有内核。 为此有一个解决方案:PM2

在服务器上安装PM2后,您的npm启动脚本可能看起来像这样:

"scripts": {
  "start": "pm2 start index.js"
}

使用Now.sh进行部署

使用[Now](https://zeit.co/now)进行部署很容易。 您需要做的就是遵循他们的安装说明。 他们建议下载“Now Desktop”,但是您可以跳过该操作并直接安装Now CLI:

$ npm install -g now
$ now login

有几种方法可以使用v1版本的now服务:

稳健的方法是将以下文件添加到/dist/ssr/now.json中,它应如下所示:

{
  "name": "Your Project Name",
  "version": 1
}

然后cd进入可分发文件夹并运行$ now。 如果您采用这种方式,那么您也可以直接在github存储库中执行,但是我们将保留设置细节。

但是,如果您愿意从命令行设置版本,则也可以运行now -V 1

无论如何,您可能想要使用“now alias”或将您的域连接到Now。 大功告成!

Now.sh将自动安装依赖项,然后运行$ yarn start。 您的网站将在几秒钟内启动并通过HTTPS连接运行!