1

私は Sass を学んでいて、自分のワークフローを理解しようとしています。問題は、CSS ファイル (自動バージョン管理、パス変数など) に PHP コードが含まれていることが多いことです。SASS (SCSS ファイル) で PHP コードをスキップする方法はありますか。

編集: 問題のある CSS ファイルが実際に動的であることを明確にする必要があるため、私の example.css.php ファイルは PHP を実行し、Web サーバーの状態に何らかの形で依存します。(静的 CSS ファイルには問題はありません)。

単純な SCSS ファイルを作成すると、PHP コードでエラーが発生します。何かアイデアはありますか?...誰かが Sass-parser が sass でスクリプト コードをスキップするように変更を加えましたか?

例 test.scss:

$backg: #fa0;

#wrapper {
  color: #000;
  background-color: $backg;
}

<?php echo ""; ?>

編集:1つの「ハック」が頭に浮かびました。SASS /* */ コメントを使用してすべての PHP コード行をコメントアウトし、その後スクリプトを使用してコメント文字を取り除き、PHP を明らかにして正しい結果を得ることができます...

例えば

// This is an example SCSS-snippet with commented PHP code lines in it...
.foo {
  color: $someColor;
  /* background: transparent url(<?php echo autoVer('../', 'img/badge.png'); ?>) no-repeat center top; */
4

2 に答える 2

1

デフォルトでは、Web サーバーは php のような css/scss ファイルを処理しません。Nginx/Apacheの設定で設定できますが、実際にはブラックコーディングです

于 2013-11-15T11:08:48.260 に答える
1

PHP は通常、特定の HTTP リクエストのコンテキストでファイルを展開します。SCSS->CSS 変換は通常、静的ファイルで発生します。SCSS をユーザーまたは Web セッションからのデータに依存させますか? その場合、CSS を取得するために PHP を実行した後に Sass を実行する必要があります。それ以外の場合は、PHP を介して foo.scss.php を実行し、次に Sass を実行するための Makefile ルールを追加するのが最善の方法です。

また、PHP を使用して CSS に対して行っていることは、SCSS を使用しても簡単に実行できる可能性が高いため、変換が完了したら PHP は不要になる可能性があることも指摘しておく必要があります。

于 2013-11-15T11:08:56.050 に答える