小编Mar*_*aga的帖子

如何在 Next.js 应用程序中仅获取一次数据并使其对服务器和客户端中的所有应用程序均可访问

我正在开发一个 Next.js 应用程序,它需要在初始化之前从远程服务器获取配置文件。在呈现应用程序服务器端之前,我想每次调用服务器只请求一次配置文件。之后,我希望能够在客户端获得相同的配置,而无需从浏览器向远程服务器发出第二次请求。

我试图通过getInitialProps_app_document文件中使用函数来实现这一点,然后使用 React 的 Context API 使配置对每个组件可见,但除非我错了,否则这将运行在服务器中请求配置的代码(在第一次从浏览器调用)和客户端(在每个页面导航上)。

我还尝试创建一个 server.js 文件,从那里请求配置并存储在 ES6 模块中的变量中。但是,我无法使这种方法起作用,因为显然 Next.js React 应用程序无法访问与 server.js 相同的模块,因为它们实际上是两个不同的应用程序。再说一次,我可能是错的。

基本上我想知道 Next.js 是否提供任何类型的“引导位置”,我可以在其中执行应用程序初始化任务,这些任务生成的数据可以发送到 Next.js 将启动的 React 应用程序。

javascript reactjs next.js

12
推荐指数
2
解决办法
5712
查看次数

从Angular 2组件访问root html标记

所以问题是,是否可以使用Renderer来调整主要Angular 2应用程序组件之外的标签,比如标签?如果是,那么最好的方法是什么?

让我来介绍一下背景.我正在尝试使用Angular 2构建一个多语言站点,我遇到了一个我无法找到解决方案的问题.问题是我在html标签中使用lang属性来定义网站每个时刻的语言,例如:

<html lang="en"> // When we have English locale active
Run Code Online (Sandbox Code Playgroud)

因此,当用户点击其他语言时,我使用ng2-translate更新网站语言,这非常有效.问题是我需要相应地更新属性,但我无法在Angular 2中找到正确的方法(如果它甚至可能).现在,我直接触摸DOM,但这对我不起作用,因为我需要从中抽象(我也使用Universal,所以我需要服务器端渲染才能工作).

目前,应用程序的样式在此属性上传递(我们支持阿拉伯语,这意味着如果lang ="ar",则更改文本的方向).我想我可以在我的主要组件上使用类或类似的东西,但使用lang属性对我来说似乎是正确的方法.有任何想法吗?

谢谢

html renderer angular

7
推荐指数
1
解决办法
2529
查看次数

标签 统计

angular ×1

html ×1

javascript ×1

next.js ×1

reactjs ×1

renderer ×1