具有moment.js依赖性的React.js服务器端呈现

时间:2015-01-19 17:11:44

标签: ruby-on-rails reactjs momentjs

我正在使用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库的正确方法是什么,无论是通过这些宝石还是通常?

1 个答案:

答案 0 :(得分:0)

您现在没有提供任何代码示例如何设置它,但从您所描述的最佳方法是在后端和前端使用require()

require()适用于node.js开箱即用。要在浏览器中实现相同的效果,您可以使用browserify