以下のQitaの記事を参照しながら、Rails5 + React + Hypernova によるサーバーサイドレンダリングを試してみました。
RailsでReduxコンテナをサーバサイドレンダリング (use Hypernova by airbnb)
それまで全てERBで記述していたViewの一部を、サーバーサイドレンダリングに置き換える(上記記事の内容を一通り実施した状態)までは成功しました。
しかし、その後jsファイルの内容(上記記事内のMyComponent.js)を書き換えたり(function MyComponentを、システムに即した名前にする等)、cssの内容を編集する等して画面を更新すると、エラー画面になってしまいます。
Railsサーバーとnodeサーバーのどちらか、あるいは両方とも再起動しても、改善しません。
エラーコードは以下のような内容です。
BrowserifyRails::BrowserifyError in Homepage#index Showing /rails_root/app/views/layouts/application.html.erb where line #9 raised: Error while running `/rails_root/node_modules/.bin/browserifyinc --list --cachefile=/Users/Ryouta/projects/Homepage/tmp/cache/browserify-rails/browserifyinc-cache.json -o "/Users/Ryouta/projects/Homepage/tmp/cache/browserify-rails/output20161103-40894-ce60va" -`: env: node: No such file or directory </head> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> <body> <%= yield %> </body>
env: node: No such file or directory が怪しいと思い、検索をかけてみましたが、npm install 時にこのメッセージが出る、といったものが大半で、Rails + Reactでのケースを見つけられませんでした。
原因、可能なら対処方法について、心当たりのことが有ればご教授ください。
開発環境は以下のとおりです。
- OS: OS X Yosemite 10.10.15(Macbook pro)
- Ruby : 2.3.1
- Rbenv : 1.0.0
- Rails : 5.0.0.1
- Node : 6.9.1
- nodebrew : 0.9.6
また、Gemfileおよびpackage.jsonには以下のライブラリを追加しています。
gem
unicorn : 5.0.0
browerify-rails : 3.3.0
hypernova : 1.0.3
package.json
hypernova : 2.0.0
hypernova-react : 2.0.0
react : 15.3.2
react-dom : 15.3.2
browserify : 13.1.1
browserify-incremental : 3.1.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。