Reactjs 使用express提供react文件
这是我第一次使用express.js提供react文件。构建已经运行,服务器正在监听,但我不明白为什么没有将组件注入html文件。相反,它只是呈现html模板 以下是我的生成文件夹的图片: 以下是我的服务器文件夹中的index.js文件: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.
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"));
});