我们正在使用 StaticSiteGeneratorPlugin 做一个网站, 是一个网站插件,可以在本地呈现网站,然后我们可以将其上传到 S3。
我们的代码基本上看起来像this github project
我们正在使用 React Helmet来管理我们的头部、元信息和所有这些,并且在浏览器中运行良好,但在运行产品构建时却不行。
在 entry.js 中我有以下内容。缺少将 Helmet 生成的字符串添加到生成的 html 中的方法,或者如果有比 helmet 更好的管理器可以更好地与我们正在使用的插件一起工作。
export default function render(locals, callback) {
const element = React.createElement(Root, props);
const helmet = Helmet.renderStatic();
const html = ReactDOMServer.renderToString(element);
callback(null, `<!DOCTYPE html>${html}`);
}
最佳答案
试试这个,但是“不要写关于 html 的博客”:
const helmet = Helmet.renderStatic();
var html = ReactDOMServer.renderToString(element);
html.replace("</head>", helmet+"</head>");
callback(null, `<!DOCTYPE html>${html}`);
关于javascript - 将动态元标记添加到 React 静态站点,使用 StaticSiteGeneratorPlugin 创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47721481/