zhangyuang/egg-react-ssr

head标签嵌入功能

Closed this issue · 8 comments

next.js提供 'next/head' 可以在任意页面使用插入title、style、script等标签,本项目是否也有这样的功能呢?希望在不同的页面引入不同外链样式做区分。

不需要提供这种东西,我觉得next/head 完全是一种多余的设计。

layout 来渲染 html 骨架,layout 本身就能够拿到当前的 请求 ctx。完全可以进行任意内容的生成

参考 新框架文档

虽然跟 egg-react-ssr 是两个应用,不过这块**一致

还有一个疑问,如果页面移动和pc端共用一个路由地址,但是页面是完全分开的两套,这时候通过controller返回不同的页面在哪个地方修改最合理呢?

共用一个路由地址比较难搞,建议区分为 /h5 和 /pc 或者直接 /
如果一定要公用一个,直接 controller 里根据当前 ua 来重写 ctx.req.path 为 /h5 ,但是这样很 dirty
也可以服务端直接重定向到 /h5

前端页面是根据当前的请求path决定渲染哪个前端组件。如果 path 一样很难区分

谢谢帮我解答疑问

不需要提供这种东西,我觉得next/head 完全是一种多余的设计。

layout 来渲染 html 骨架,layout 本身就能够拿到当前的 请求 ctx。完全可以进行任意内容的生成

意思是放在页面的controller里吗?然后走Layout的fetch传props到页面?对于固定TDK的页面,这个太啰嗦了吧?

要是想某个页面单独加载一个外部cdn的js文件,还要新建一个Layout,好像不够灵活。。

不需要提供这种东西,我觉得next/head 完全是一种多余的设计。
layout 来渲染 html 骨架,layout 本身就能够拿到当前的 请求 ctx。完全可以进行任意内容的生成

意思是放在页面的controller里吗?然后走Layout的fetch传props到页面?对于固定TDK的页面,这个太啰嗦了吧?

要是想某个页面单独加载一个外部cdn的js文件,还要新建一个Layout,好像不够灵活。。

那并不是这个意思。意思是你完全可以在layout根据ctx区分页面来渲染任意内容