問題タブ [assetic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
symfony - Asseticを使用して条件付きでリソースをロードする
Asseticで条件付きでアセットをロードすることは可能ですか?
例(peusocode):
node.js - php (Symfony2 Assetic) から lesscss を解析するときの node.js エラー
Centos5 で NPM を使用して lesscss をセットアップし、Symfony2 php アプリ内で使用しています。
コマンドラインで実行する場合
その後、正常に解析され、正しく解析された出力がコンソールに表示されます。
しかし、Assetic バンドルのフィルターとしての Symfony2 アプリ内では、css ファイルは単なる 500 エラーです。
ログを見ると、次のエラーが発生しています。
プロジェクトは、lesscss の構成を含めて、チェックアウトし、他の場所でエラーなく正常に動作する git リポジトリの一部であるため、Symfony2 要素が正常にセットアップされていることはかなり確信しています。
編集 /
追加情報 - ノードをインストールしたばかりなので、最新バージョンです。
編集 /
コマンド ラインで less を実行すると問題なく動作し、Web ブラウザを介して PHP スクリプトの shell_exec() で less を実行すると問題なく動作します。
php - Symfony2 Assetic CSS 書き換えが url(data:image...) で壊れる
Assetic の CSS 書き換えで問題が発生しました。URL を正しくするという意味では問題なく動作しますが、次のdata:image
ような URL を台無しにしてしまいます。
の中へ:
これに対する回避策または修正方法はありますか?
symfony - Symfony2 Assetic + Twig テンプレート JavaScript 継承
私の問題:
私は3つのテンプレートを持っています:
main.html.twig
(メインレイアウトファイル)layout.html.twig
(いくつかのバンドル固有の JS タグを含むバンドル固有のレイアウト オーバーライド)create.html.twig
(いくつかのページ固有の JS タグも含むページ固有のテンプレート ファイル)
基本レイアウト ( ) で「javascript」というブロックを定義しmain.html.twig
、それをオーバーライドします (ただし、 を呼び出し{{ parent() }}
ますlayout.html.twig
。これは正常に機能し、メイン テンプレート ファイルの JS タグはテンプレート内のタグの上にまだ含まれていますlayout.html.twig
。
次に、ファイルで同じことを行い、create.html.twig
次のようにブロックをオーバーライドします。
この時点で、親 ( ) の javascript ブロックをオーバーライドし、その上のテンプレートで定義されたすべてlayout.html.twig
のスクリプトを含める代わりに、次のことを行います。
- 出力の途中でタグをダンプします (私のファイルでは、HTML マークアップの最後に jQuery ライブラリのみを含めている
<script>
ため、エラーが発生します)main.html.twig
- 次に、残りのスクリプトと一緒にスクリプトもダンプします(私が期待するように)
スクリプトがテンプレートの途中でダンプされる原因がわかりません。また、スクリプトがcreate.html.twig
画面に 2 回ダンプされる理由についても混乱しています (1 回は作成の途中で、次に 1 回はテンプレートの途中で)。と からの残りのすべてのスクリプトmain.html.twig
と一緒に下にlayout.html.twig
。
誰かアイデアはありますか?不明な点がある場合、またはさらに情報を提供できる場合はお知らせください。
編集:
ファイルの内容は以下...
main.html.twig: https://gist.github.com/7f29353eaca0947528ce
layout.html.twig: https://gist.github.com/734947e9118b7765715e
create.html.twig: https://gist.github.com/c60c8d5c61e00ff86912
編集2:
今朝、この問題をもう一度見てみましたが、スタイルシートに対して同じことをしているように見えます。pagescripts
myで呼び出される新しいブロックを定義してからlayout.html.twig
、そのブロックを my で使用しようとしましcreate.html.twig
たが、これは同じ結果になりました。
symfony - AsseticBundle / CompassFilter:テンプレートをコンパイルできないときに例外をスローする方法はありますか?
誰かがSymfony2のdev
環境と組み合わせてAsseticBundleの設定を手伝ってくれるかどうか疑問に思っています。
ページがdev
環境に読み込まれるたびに、Asseticはアセットを再コンパイルします。私の場合は、を使用してSassファイルをコンパイルしていCompassFilter
ます。
私の問題は、不正な形式のSassファイルがある場合、スタイルシートが生成されずにページが読み込まれることです。代わりに、Asseticに、例外が発生したかのようにCompass / Sassコンパイラの出力を表示させます(つまり、Symfony2の「oops」画面が表示されます)。 。
これを達成するための構成があるかどうか誰かが知っていますか?
私の現在config.yml
は:
1行だけをconfig_dev.yml
オーバーライドして:
php - Twigjs と動的翻訳
私は問題に直面しています.Symfony2のtwigjsとasseticを使用して、テンプレートの一部を動的にレンダリングしています。
ドキュメント、ソース、およびテストを読みました。
そのTransFilterCompilerTest.php/testCompileDynamicTranslations
中で
{{ 'foo' | trans }}
私の小枝テンプレートで
twigjs テンプレートで置き換えられます
'this.env_.filter("trans",'...
私のtwigjsで
しかし、コンパイルされたjsにはsb.append(twig.filter.escape(this.env_, "posted", "html", null, true));
理由はわかりますか?
ありがとう!
symfony - Controllerでアセットの完全なURLを取得するにはどうすればよいですか?
コントローラでJSONコンテンツを生成する必要があり、ここにあるアップロードされた画像への完全なURLを取得する必要があります:/web/uploads/myimage.jpg
。
どうすれば完全なURLを取得できますか?
http://www.mywebsite.com/uploads/myimage.jpg
php - Symfony 2 アセットをコンパイルして異なるファイル名を生成する方法は?
この記事の一番下にあるガイドに従いました: http://symfony.com/doc/current/cookbook/assetic/asset_management.html
私はこのコードを持っています:
実行するsf assetic:dump --env=prod
と、コンパイルされたファイルが適切に作成されます。ただし、クライアント側のブラウザーのキャッシュの問題を回避するために、ランダムな名前 (またはタイムスタンプ付き) を生成したいと考えています。現在、常にdist.js
キャッシュされるファイルが作成され、コードを更新すると、ユーザーは違いを認識しません (またはエラーが発生します)。
のようにする方法はありdist12345678.js
ますか?
php - Silex/SilexExtensionsとAsseticを使用したTwigの動的CSS/Javascript
私がしたいこと:データベースからCSSプロパティを取得し、それをlessファイルにダンプします。次に、less / yui compress-filterを適用し、出力をtwigテンプレートにダンプします。
すぐに要点を説明しましょう。
テンプレートエンジンとしてSilexとTwigを使用するPHPWebアプリケーションがあります。css / jsファイルを処理して縮小するために、AsseticとSilex-Twig/Assetic-Extensionsを使用しようとしています。
silex拡張機能を登録し、使用するフィルターを設定しました。今では、小枝テンプレート内にファイルをダンプする方法については何の手がかりもありません。グーグル検索は私を暗闇に閉じ込めます。lessfileのプロパティはリクエストごとに変更される可能性があるため、ファイルを静的に配信する方法はないと思います。
これは、silex拡張機能の私の実装です。
CSSファイルはより少ないフィルターで処理されているため(変数値はデータベースから取得する必要があります)、出力ファイルを保存/キャッシュする必要があります。必要なのは、output.cssをキャッシュディレクトリに書き込むAssetWriterと組み合わせたLazyAssetManagerだと思いますか?しかし、Twigテンプレート内から正しいインクルード構文を取得するのに本当に苦労しています。次の実装は機能していないようです。
私の懸念に関するすべての投稿に感謝しています。
php - Assetic PHP を使用して RVM でインストールした後に Sass が壊れた
Assetic PHP アセット コンパイラをセットアップしようとしていますが、CoffeeScript、Stylus、および Less で動作するようになりました (すべての NPM パッケージは完全に動作しました)。ただし、Sass には問題があります。これまでに行った手順は次のとおりです。
- Ruby 1.9.3 とともに RVM をインストールし、 gem install sassを実行しました。
- which sassを実行しました。これにより、 /home/jon/.rvm/gems/ruby-1.9.3-p0/bin/sassが返されました。
- その場所を Assetic の SassFilter.php にコピーしました。ここでは、コンストラクター関数で$sassPath = ''と表示されています。これは、コーヒーなどと同じ方法です。
メイン コンパイラ ファイルから PHP を解析すると、次のメッセージが表示されます。
Ubuntu 11.10、PHP 5.3.6、RVM 1.10.2、および Ruby 1.9.3 を使用しています。私のシェルはZSHです。