shokai / semirara

deprecated. go https://scrapbox.io
16 stars 3 forks source link

サーバーサイドレンダリングする #41

Closed shokai closed 8 years ago

shokai commented 8 years ago

ログアウト状態でアクセスしたら静的ページを見せる ログインユーザーのみReactとSocket.IOで動的な編集ページを表示する

shokai commented 8 years ago

既にあるclientコードに手を加える部分

これぐらいか

shokai commented 8 years ago

socket.ioに接続しにいってる

shokai commented 8 years ago

storeをの外から埋め込めるようにしないとだめだ

shokai commented 8 years ago

windowオブジェクトを触る前に毎回globalの有無で環境を判定するのがだるい

shokai commented 8 years ago

結局react-redux使った方がいいのかも

shokai commented 8 years ago

stylusをbrowserify+stylifyでrequireしてinsert-cssする部分もサーバーだと動かないので、1つのcssに書き出してlinkタグで読み込むようにする

shokai commented 8 years ago

storeはApp外から指定されたものを使うように<App store={store} />で設定できる様にした。 これはclient/index.es6でやってる。

各コンポーネントがstoreを直接importしてしまうのを避けるためにstore.es6は削除し、client/index.es6内でstore作成からAppへ渡すまでやってexportはしない。

shokai commented 8 years ago

あとは何箇所かstore.dispatchを直接読んでいる部分をaction経由にすれば完成