クライアントサイドとサーバサイドの両方で使うクラスはクライアントフォルダとサーバフォルダの両方の下からリンクを置いてアクセスしたくなる。
シンボリックリンクを使うと、Gitでリソース管理をする時に困る。シンボリックリンクをコミットしても、チェックアウトした時にシンボリックリンクにならない。なんか変なファイルになる。
そこでhardlinkを使う。使い方は以下。
git に、シンボリックリンクされたファイルを追加出来ない場合の対処方法 | Zero4Racer PRO Developer's Blog
コレを使うと見た目には実際のフォルダと全く同じに見える。
Gitもリンク先のファイルをコミットしようとしてしまうので注意。
フォルダ構造はざっくり以下のようにして、.gitignoreにcommonフォルダを書いておくといい。
├── client
│ └── app
│ ├── common ハードリンク
│ ├── controller
│ └── view
├── common
│ ├── collection
│ └── model
└── server
└── src
└── common ハードリンク
あ、なんかへんになってる。server>src>commonという構造になってます。