Javascript 是否可以使用Express和React预渲染服务器端代码?
我有一个简单的Pokedex站点,所以它都是静态内容 为了学习一些新东西,我用React、Express、Node和Redis构建了它。这些页面在服务器端呈现。Express接收slug,从Redis获取数据并将其传递给React React在我的构建中基本上是一种美化的模板语言,我知道这并不是React的最佳用途,因为我没有使用状态等 是否可以像请求url一样遍历所有口袋妖怪,并将输出的HTML保存为自己的页面?Javascript 是否可以使用Express和React预渲染服务器端代码?,javascript,node.js,express,reactjs,Javascript,Node.js,Express,Reactjs,我有一个简单的Pokedex站点,所以它都是静态内容 为了学习一些新东西,我用React、Express、Node和Redis构建了它。这些页面在服务器端呈现。Express接收slug,从Redis获取数据并将其传递给React React在我的构建中基本上是一种美化的模板语言,我知道这并不是React的最佳用途,因为我没有使用状态等 是否可以像请求url一样遍历所有口袋妖怪,并将输出的HTML保存为自己的页面? 这将使页面加载速度更快,但也将服务器必须完成的工作量降至最低,从而节省资金和负载
这将使页面加载速度更快,但也将服务器必须完成的工作量降至最低,从而节省资金和负载。这也是不必要的,因为pikachu页面和所有其他mons页面都是一样的。我知道我可能是用错误的方法建造了这个,但我很好奇这是否可能。是的。这可以通过以下方式实现: 与renderToString类似,只是它不会创建额外的DOM属性,如react内部使用的data react id。如果您想将React用作一个简单的静态页面生成器,这非常有用,因为去掉额外的属性可以节省大量字节 您可以使用如下代码:
var React = require('react');
var ReactDOMServer = require('react-dom/server');
var Component = require('./MyComponent');
var output = ReactDOMServer.renderToStaticMarkup(
React.createElement(
Component, {
prop1: 'value'
}
)
);
或者,如果您正在使用JSX:
var React = require('react');
var ReactDOMServer = require('react-dom/server');
var Component = require('./MyComponent');
var output = ReactDOMServer.renderToStaticMarkup(
<Component prop1="value" />
);
var React=require('React');
var ReactDOMServer=require('react-dom/server');
var Component=require('./MyComponent');
var output=ReactDOMServer.renderToStaticMarkup(
);
(请注意,这只是示例代码,用于演示如何调用
renderToStaticMarkup
方法)。是。这可以通过以下方式实现:
与renderToString类似,只是它不会创建额外的DOM属性,如react内部使用的data react id。如果您想将React用作一个简单的静态页面生成器,这非常有用,因为去掉额外的属性可以节省大量字节
您可以使用如下代码:
var React = require('react');
var ReactDOMServer = require('react-dom/server');
var Component = require('./MyComponent');
var output = ReactDOMServer.renderToStaticMarkup(
React.createElement(
Component, {
prop1: 'value'
}
)
);
或者,如果您正在使用JSX:
var React = require('react');
var ReactDOMServer = require('react-dom/server');
var Component = require('./MyComponent');
var output = ReactDOMServer.renderToStaticMarkup(
<Component prop1="value" />
);
var React=require('React');
var ReactDOMServer=require('react-dom/server');
var Component=require('./MyComponent');
var output=ReactDOMServer.renderToStaticMarkup(
);
(请注意,这只是示例代码,旨在演示如何调用
renderToStaticMarkup
方法)。太好了,谢谢!出于兴趣,您会推荐这种方法还是缓存代理?太好了,谢谢!出于兴趣,您会推荐这种方法还是缓存代理?