【问题标题】:Dynamically building static websites动态搭建静态网站
【发布时间】:2020-06-05 20:07:16
【问题描述】:

我正在使用 React、Express/Node 和 MongoDB 构建一个简单的网站生成器。 我构建了一个 UI 来接收来自多步骤表单的内容和样式参数,以及一个用户可以在其中管理设置的仪表板。需要时使用 Express 在 Mongo 中保存/获取所有数据。我在前端有一个“发布”按钮,它会向后端发送一个 POST。

然后相关的 express 路由从 mongo 获取正确的数据并将其传递给一个函数,该函数在本地运行一个带有自定义模板的“create-react-app”,并将参数/内容注入正确的组件。之后,它会运行构建并将结果部署到子域。

我的问题是:每次用户点击“发布”按钮时,我管理构建静态文件并部署它们是错误的吗?

我是否需要在请求时动态生成和提供网站?

【问题讨论】:

    标签: javascript node.js express gatsby next


    【解决方案1】:

    做到这一点的最佳和最“反应”的方式确实是动态生成和提供网站。这将是更多的前期工作,但会带来更好的用户体验。

    你现在做的事情会很慢,而且对用户不是很友好。

    【讨论】:

    • 那么 Next JS 会是正确的解决方案吗?或者有一种方法可以在 React 中原生地做到这一点?
    • 您绝对可以在 react 中原生地做到这一点——只需使用 react 钩子/reducers 来保存所有内容/样式,然后在应用程序中使用上下文 api 提取该信息