首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >特快专递Vue生产问题

特快专递Vue生产问题
EN

Stack Overflow用户
提问于 2022-07-21 22:12:58
回答 1查看 36关注 0票数 0

我正在尝试在我当前的Vue应用程序上安装SSR,为此我使用了vue-plugin-ssr扩展。我想用express运行它,所以我创建了一个名为server.mjs的新文件,并拥有以下内容:

代码语言:javascript
复制
import express from "express";
import { createServer as createViteServer } from "vite";
import { renderPage } from "vite-plugin-ssr";

async function createServer() {
  const app = express();

  // Create Vite server in middleware mode and configure the app type as
  // 'custom', disabling Vite's own HTML serving logic so parent server
  // can take control
  const vite = await createViteServer({
    server: { middlewareMode: true },
    appType: "custom",
  });

  // use vite's connect instance as middleware
  // if you use your own express router (express.Router()), you should use router.use
  app.use(vite.middlewares);

  app.get("*", async (req, res) => {
    // `renderPage()` can also be used in serverless environments such as
    // Cloudflare Workers and Vercel
    const { httpResponse } = await renderPage({ url: req.url });
    res.send(httpResponse.body);
  });

  app.listen(3000);
}

createServer();

因此,当我运行node server.mjs时,这实际上适用于dev,但是客户端或服务器文件夹都没有index.html文件,那么如何在生产中实际运行这个文件呢?我所做的只是将nginx上的文件夹设置为path/dist/client,还需要做其他的事情吗?

顺便说一句,作为对生产的回应,我只有403份。

EN

回答 1

Stack Overflow用户

发布于 2022-07-21 22:43:38

您需要运行客户端和ssr构建过程如Vite的文档所示,然后:

vite dev服务器的创建和所有使用移到只使用dev的条件分支之后,然后添加服务于中间件的静态文件以从dist/client服务文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73073198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档