我的 React 网站使用 Express 从后面提供服务,适用于:
app.use(express.static(path.resolve(__dirname, './client/build')));
也就是说,我正在重构后端代码,以便每个路由添加动态元标记并单独提供网站:
app.get('/', async (req, res) => {
const pathToIndex = path.resolve(__dirname, './client/build', 'index.html');
try {
// try dynamically inserting title meta tag
fs.readFile(pathToIndex, 'utf8', function (err, data) {
if (err) {
return console.log(err);
}
data = data.replace(/\$OG_TITLE/g, "ABC");
res.send(data);
});
} catch(err) {
res.sendFile(pathToIndex);
}
});
上述重构导致以下错误:
这是我的文件夹结构:
知道问题可能是什么吗?
尝试以下代码
app.get("/", async (req, res) => {
const pathToIndex = path.resolve(__dirname, ".", "index.html");
const fileData = fs.readFileSync(pathToIndex, { encoding: "utf8" });
// data = fileData.replace(/\$OG_TITLE/g, "ABC");
data = fileData.replace(/App/g, "ABC");
console.log(data);
return res.send(data);
});