umijs / umi

A framework in react community ✨
https://umijs.org
MIT License
15.39k stars 2.65k forks source link

SSR中使用react-helmet,官网说需要添externals: ["react-helmet"], 如何加在UMI的配置中? #2929

Closed elivoa closed 5 years ago

elivoa commented 5 years ago

react-helmet 官网说需要添

externals: ["react-helmet"]

但是配置的格式和UMI不同, 如何加在UMI的配置中?

ycjcl868 commented 5 years ago

可以支持,prerender 插件需要增加这个功能,目前的想法是提供一个 onRenderBody($, url) => $ | void 方法,让插件使用者自行处理一些副作用 react-helmet / react-document-title

image

https://github.com/umijs/umi-example-ssr-with-egg/commit/bb0712c702d095da84628e049011130d0623d764

EternalChildren commented 5 years ago

你这个库真的能算得上是umi吗, 文件目录都不一样完全不是遵守 umi约定的, 拿这样的一个demo在官方例子上真的合适吗??

ycjcl868 commented 5 years ago

不知道说的目录不遵守约定是指什么?https://github.com/umijs/umi-example-ssr-with-egg/tree/master/app/web

  1. 前端用 umi,服务端用 eggjs,可以先看下 egg 文档
  2. 库?这是 demo
EternalChildren commented 5 years ago

我知道是个demo, 但是我是从umi的官网上看到的这个demo,在配合文档的只看到了项目的app结构并未深入看web结构。 很不好意思,我一开始并未注意到egg.js 。 我仔细翻看了下。 egg.js 似乎是类似 next.js 的库 可以直接部署一个服务。 我想问下 umi如果只是前端库的话, 他是如何做到ssr的? 是必须得要配合后端node服务器嘛? umi build出来的仅仅是静态页面吗

EternalChildren commented 5 years ago

我还有个问题 是 https://github.com/umijs/umi/issues/2965 我是否能通过egg.js 使用这个react-helmet 来在输出html之前,对html做些处理呢? 为嘛 next.js 项目直接使用开发环境就可以 看到ssr的效果, 而umi项目 当使用了now上传项目之后是可以看到ssr效果的

ycjcl868 commented 5 years ago

正在写这块文档