我有一个 CRA,并希望静态生成第一页以改善加载时间和 SEO。这个想法是运行一个 NodeJS 脚本,在 index.html 中呈现 App 文档。
这是我的代码:
const { renderToString } = require("react-dom/server");
const App = require('./App');
const content = `<html><body>${renderToString(App)}</body></html>`
const fs = require('fs');
fs.writeFileSync('../public/index.html', content);
但是,我在使用 NodeJS 运行它时遇到问题:
import React from 'react';
^^^^^^
SyntaxError: Cannot use import statement outside a module
显然,我必须构建源代码,但我不知道该怎么做。我正在使用 CRA 来构建我的 React 文件(实际上,我正在使用 react-app-rewired,所以如果我只知道如何去做,我就可以自定义构建过程)。
我应该怎么做才能让它工作?