Javascript Can';在Web包捆绑的express中找不到静态文件夹(SSR)
我打算在react中使用事件处理程序进行服务器端渲染,但在localhost express服务器中提供index.js文件时遇到了一个问题。我试着在这里寻找一些其他的答案,但我似乎无法理解这一点 这是密码Javascript Can';在Web包捆绑的express中找不到静态文件夹(SSR),javascript,node.js,express,server-side-rendering,Javascript,Node.js,Express,Server Side Rendering,我打算在react中使用事件处理程序进行服务器端渲染,但在localhost express服务器中提供index.js文件时遇到了一个问题。我试着在这里寻找一些其他的答案,但我似乎无法理解这一点 这是密码 import express from "express"; import React from "react"; import { renderToString } from "react-dom/server"; import App from "./app/home/app"; imp
import express from "express";
import React from "react";
import { renderToString } from "react-dom/server";
import App from "./app/home/app";
import path from "path";
import fs from "fs";
let server = port => {
const app = express();
app.use('/js', express.static(path.resolve('/static')));
console.log(path.resolve('/static'));
console.log(path.join(__dirname, '/static'));
console.log(fs.existsSync(path.resolve('/static')));
app.get("/", (req, res) => {
res.status(200).send(renderMarkup(renderToString(<App />)));
});
app.get("/ping", (req, res) => {
res.status(200).send("HELLO!");
});
app.listen(port, () => console.log("Server Ready!"));
}
let renderMarkup = html => {
return `
<!DOCTYPE html>
<html>
<head>
<title>Webpack SSR Demo</title>
<meta charset="utf-8" />
</head>
<body>
<div id="app">${html}</div>
<script src="/js/index.js"></script>
</body>
</html>
`;
}
server(process.env.PORT || 8080);
TLDR:视图已成功渲染。事件不起作用,因为没有加载客户端javascript。在仔细研究了大量问题、github问题并阅读了捆绑的js之后 服务器代码没有问题。 见: 我需要将此添加到我的webpack.server.js:
node: {
__dirname: false,
},
那么,如果应用程序被成功呈现,你在chrome开发工具中的网络会说什么呢?它试图从哪里获取JS包?localhost:8080/JS/index.JS它给出了404.use(express.static(path.resolve(uu dirname,…,,,,,,,,{index:false,maxAge:0})),它仍然是一个404@joelgullander,“…”背后的想法是什么?没有看到你的/build文件夹中有server.JS
node: {
__dirname: false,
},