Reactjs 使用express提供react文件

Reactjs 使用express提供react文件,reactjs,express,Reactjs,Express,这是我第一次使用express.js提供react文件。构建已经运行,服务器正在监听,但我不明白为什么没有将组件注入html文件。相反,它只是呈现html模板 以下是我的生成文件夹的图片: 以下是我的服务器文件夹中的index.js文件: const express = require('express'); const morgan = require('morgan'); const path = require('path'); const app = express(); app.

这是我第一次使用express.js提供react文件。构建已经运行,服务器正在监听,但我不明白为什么没有将组件注入html文件。相反,它只是呈现html模板

以下是我的生成文件夹的图片:

以下是我的服务器文件夹中的index.js文件:

const express = require('express');
const morgan = require('morgan');
const path = require('path');

const app = express();

app.use(morgan(':remote-addr - :remote-user [:date[clf]] ":method 
:url HTTP/:http-version" :status :res[content-length] :response-time 
ms'))

app.use(express.static(path.resolve(__dirname, '..', 'build')))

app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname,'..', 'build', 'index.html'))
});

const PORT = process.env.PORT || 3000;

app.listen(PORT, () => {
console.log(`App listening on port ${PORT}!`);
}); 
这是我在控制台中看到的:

任何帮助都将不胜感激。

请参阅以下链接

将以下代码添加到
index.html
文件

<script src="src="/js/main.33e13313.js""></script>
您将使用npm运行构建来运行

您可以使用babel将es6更改为es5。这是构建工具


您可以使用webpack打包JavaScript文件。packagig将JavaScript文件捆绑到一个文件中。这是打包工具。

这个问题仍然没有答案,我面临着同样的问题。我已经将默认的react应用程序部署到一个构建目录中,并希望通过Express提供这些文件

浏览器实际上收到了部署的文件,但它显示了一个空白页

有什么想法吗

使用简单的Express服务器:

const express = require("express");
const path = require("path");

const app = express();

app.use(express.static(".\build"));

app.get("*", (req, res) => {
  res.sendFile(path.resolve(__dirname, ".", "build", "index.html"));
});
app.listen(8081,()=>{ log(
应用程序在端口8081上侦听!
);
});

看起来您的脚本标记src是错误的。应该是
src=“/js/main.33e13313.js”
。如何设置脚本src?感谢您的回复!。当我npm运行build时,它默认为这个值。我试着把它改成你的建议,但还是一样的问题。谢谢你的建议!非常感谢您能检查浏览器开发人员控制台中的“网络”选项卡吗?可能没有下载所需的.js
const express = require("express");
const path = require("path");

const app = express();

app.use(express.static(".\build"));

app.get("*", (req, res) => {
  res.sendFile(path.resolve(__dirname, ".", "build", "index.html"));
});