質問: 最近Gulpを導入してコーディングをはじめようと思い、環境を作って検証しているのですが、少々行き詰まってしまいました。 <実現したいこと> 下記のディレクトリ構成で複数案件を管理しているのですが、 node_modulesのプラグインを案件Aでも案件Bでも案件Cでも共有して使えるようにしたいです。 現状だと、各案件ディレクトリの配下にnode_modules、package.json、gulpfile.jsを配置し、読み込みソースや出力ソースを記述しているのですが、案件が増えるたびに複製しているので、ファイルが肥大化してしまいます。 これ回避するために、gulpとプラグインのインストールは1回で済ませたいと思っています。 なかなか良い方法が思いつかず質問させていただきました。 お知恵をおかりできればと思います。 宜しくお願いします。 ーーーーーーーーーーーーーーーーーーーーーーーー projects ├─ 案件A │ ├─ js │ ├─ img │ ├─ sass │ ├─ css │ └─ index.html │ ├─ 案件B │ ├─ js │ ├─ img │ ├─ sass │ ├─ css │ └─ index.html │ ├─ 案件C │ ├─ js │ ├─ img │ ├─ sass │ ├─ css │ └─ index.html │ node_modules │ ├─ gulp-sass │ ├─ gulp-autoprefixer │ ├─ browser-sync │ package.json │ gulpfile.js
回答: 色々試行錯誤した結果、とても簡単に解決することができました。 node_modulesフォルダを各案件フォルダ毎にシンボリックリンクにして作るだけで、親となるnode_modulesフォルダを常に参照するようにできました。 gulpfile.jsもシンボリックで親となるgulpfile.jsを動かそうと思いましたが、エラーになりました。これは案件毎で使うモジュールやフォルダ構成も変わるので、案件ごとに1つづつ持つことにします。