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