Reactjs 使用生成的html时,React CRA与SSR配置抛出404

Reactjs 使用生成的html时,React CRA与SSR配置抛出404,reactjs,create-react-app,server-side-rendering,react-app-rewired,Reactjs,Create React App,Server Side Rendering,React App Rewired,我有一个使用CRA和默认配置构建的react应用程序。我想做SSR,所以我读了一篇类似的文章 接下来,我想内联JS和CSS,这样我就可以点击URL并复制生成的HTML页面,然后在任何我想要的地方使用它 为此,我使用了react应用程序重新布线插件,现在我可以看到带有内嵌CSS和JS的HTML 问题是当我复制生成的HTML并将其保存为.HTML时,当我打开页面时,它返回404错误 我试图复制生成的HTML,然后在完全不同的应用程序中将它们作为单独的组件使用 我错过什么了吗 重新布线的react应用

我有一个使用CRA和默认配置构建的react应用程序。我想做SSR,所以我读了一篇类似的文章

接下来,我想内联JS和CSS,这样我就可以点击URL并复制生成的HTML页面,然后在任何我想要的地方使用它

为此,我使用了react应用程序重新布线插件,现在我可以看到带有内嵌CSS和JS的HTML

问题是当我复制生成的HTML并将其保存为.HTML时,当我打开页面时,它返回404错误

我试图复制生成的HTML,然后在完全不同的应用程序中将它们作为单独的组件使用

我错过什么了吗

重新布线的react应用程序的config-overrides.js

const HtmlWebpackPlugin = require("html-webpack-plugin");
const InlineChunkHtmlPlugin = require("react-dev-utils/InlineChunkHtmlPlugin");
const HTMLInlineCSSWebpackPlugin = require("html-inline-css-webpack-plugin").default;

module.exports = {
  webpack: function(config, env) {
    if (env === "production") {
      config.plugins.push(new InlineChunkHtmlPlugin(HtmlWebpackPlugin, [/.*/]));
      config.plugins.push(new HTMLInlineCSSWebpackPlugin());
    }
    return config;
  }
};

server.js用于SSR

import express from "express";
import path from "path";
import renderer from "./react-renderer";

const app = express();
const PORT = 8000;

const routes = ["/custom1/:id","/custom2/:id","/custom3/:id"];

app.get("/*", renderer(routes));

app.use(express.static(path.resolve(__dirname, "../build")));
app.use(express.static(path.resolve(__dirname, "../public")));

app.listen(PORT, () => {
  console.log(`App running in the port ${PORT}`);
});

404是未找到的HTTP代码:我认为问题不在于打开页面,而在于找到页面

似乎您在服务器中添加的第一条路由正在捕获所有请求:

app.get("/*", renderer(routes));
你可以试着把它作为最后一条路线

app.use(express.static(path.resolve(__dirname, "../build")));
app.use(express.static(path.resolve(__dirname, "../public")));

app.get("/*", renderer(routes));

更重要的是,你没有说你在哪里复制了结果页面,我希望是在
。/build
。/public
目录中,否则你得不到它我并不奇怪。

我使用postman向应用程序提出请求,并复制了结果HTML和CSS。这是问题的根源吗?如果是这样的话,我该怎么避免呢?嗨@SureshKumar,你做的很清楚,不清楚你把它保存在哪里了我把结果的邮差输出保存在HTML文件中并打开了它,你从磁盘打开一个文件@SureshKumar时遇到了404错误?