2016-05-27 6 views
1

node-sassのドキュメントは、コマンドラインから使用すると少し単純です。私は現在、構築ツールとしてNPMスクリプトを使用することに興味があります。深くネストされたディレクトリ構造に対してnode-sassはどのように使用しますか?

私は、機能別に整理された多くのコンポーネントを持つプロジェクトを持っています。各機能は別々のフォルダです。より小さいコンポーネントを含む大きなコンポーネントがあり、それらのコンポーネントはどれも独自の.scssファイルを持ちます。

私が抱えている問題は、これらのファイルをすべて1つのファイルに簡単にコンパイルするためにどのようにnode-sassを使用するかについてのドキュメントが明確でないことです。

.scssファイルを1つのディレクトリから別のディレクトリにコンパイルして別のディレクトリに保存する方法がありますが、これを個別ファイルとして保持しています。猫cat <input> | node-sass > <output>を使用する別の提案がありますが、catは再帰的ではなく、グロブを使用しないので、最も多くのものは1レベルのCSSです。

node-sassを使用して、指定されたディレクトリのすべてのファイルを再帰的に調べ、それらを単一のCSSスタイルシートにコンパイルする方法はありますか?

答えて

0

私が今までに見つけた最良の方法は、やや鈍いです。

あなたは最終的なファイルにnode-sassして出力する最終的には、その後、一緒にすべてのことを置くどのcatに出力を取得すること、次に、再帰的にすべての右のファイルを見つけるためにfindを使用しています。

find src/apps/section -name '*.scss' -print0 | xargs -0 cat | node-sass > ./dist/css/section.css 

は理想的には、ノード-SASSは、グロブを受け入れ、その結果に作動するが、それはどちらか、まだ十分に成熟していない、またはチームは、この機能を作成することに重点を置いていないはずです。 IMO、あらゆる種類のコンパイラ、htmlテンプレート、JSの翻訳、縮小、またはグロブを受け入れて単一のファイルを出力できるものであれ。縁起のように見えません...しかし、私は何を知っていますか?

Node-sassには再帰的なオプションがありますが、現在のドキュメントではそれが見ているだけです。このオプションについてはdiscussionがありますが、マルチファイルのコンパイルが目的の機能(sourcemapsなど)でない理由が記載されています。 :/

個人的には、より多くのツールでより優れた高度なファイル処理機能を使用したいと思っています。私はすべてnpm-script-watcherのような単一のスクリプトに見せてくれます。それは、それを監視し、スクリプトを起動します。 1つのファイル変更は、単一実行のlint、ビルド、およびテストを引き起こすことができます。 lintのウォッチャーフラグ、ビルダーのウォッチャーフラグ、テスターのウォッチャーよりも優れているようです。時計機能を起動せずにlint、ビルド、またはテストを一度だけ実行したい場合は、それぞれのスクリプトを複製してください。

関連する問題