我正在使用react-rails gem,我已将其配置为使用自述文件中提供的说明在服务器端正确呈现,即:
# Gemfile
gem "therubyracer", platforms: :ruby
我的观点:
# show.html.erb
<%= react_component('BlahApp', { something: @user.something, stuff: @user.stuff }, { prerender: true }) %>
我确实有一个组件通过momentjs-rails gem大量使用moment.js,我似乎无法使用服务器端渲染:
Encountered error "ReferenceError: moment is not defined"
moment.js被Sprockets正确地包含在资产管道中,但我怀疑这不会发生在服务器端。
使用React在服务器端渲染中包含其他JS库的正确方法是什么,无论是通过这些宝石还是通常?
答案 0 :(得分:0)
您现在没有提供任何代码示例如何设置它,但从您所描述的最佳方法是在后端和前端使用require()
。
require()
适用于node.js开箱即用。要在浏览器中实现相同的效果,您可以使用browserify。