問題タブ [grunt-contrib-concat]
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.
javascript - ディレクトリファイルを連結する最も効率的な方法は?
非常に厄介な質問のタイトルで申し訳ありません。誰かがこの質問を表現するより良い方法を思いつくことができれば、すぐに変更します.
私は Angular と RequireJS を使用してアプリを構築しており、パフォーマンス、依存関係、遅延読み込みを最適化するために、次のようなファイル構造を構築しようとしています。
ルーティングを設定した場所で、任意のビューにアクセスするユーザーが、ディレクトリ (およびサブディレクトリ)内の他のすべてのファイルを連結し/registration/
た全体をロードできるようにしたいと考えています。サイトの「セクション」全体を一度にユーザーに提供するだけでなく、複数の、場合によっては重複する依存関係を含める必要があるため、行き詰まりました。ほとんどのユーザーはサイトのセクションにアクセスすることは決してないため、上記のサンプルは、すべてのファイルを前もってロードしたくない理由を示していることを願っています。私はうなり声でこれを達成する最も効率的な方法を見つけようとしていますが、これまでのところ、次のようなコードで非常に手動で作業しています:_registration.module.js
.js
/registraion
admin
私が達成しようとしていることを行うには、より効率的で手作業の少ない方法が必要だと思います。誰か提案はありますか?
css - Grunt: .CSS ファイルをコンパイル済みの .SCSS ファイルに連結する方法は?
私はうなり声を学んでいます、そしてそれは素晴らしいです!
バックグラウンド:
私のプロジェクトは SASS ( .scss
) を使用して構築されており、grunt のcompass
プラグインを使用.scss
して複数の出力を 1 つにコンパイルし.CSS
ています。
問題:
.css
ファイルが関連付けられているjQueryプラグインを使用しています。Grunt に次のようにさせたい:
- *.SCSS をコンパイルします。
frontend.css
plugin.css
完了したら、の最後に連結しますfrontend.css
- 縮小し
frontend.css
ます。
grunt compass のコンパイル後に実行される CSS の concat ルールを追加しようとしました。concat ルールを以下に示します。
grunt タスクは次のようになります。
私が使用している Grunt プラグインのリストは次のとおりです。
を呼び出すとconcat:css
、plugin.css が連結されますが、タスクを実行するたびに追加されるため、同じ CSS の複数のコピーがファイルに挿入されます。
を呼び出すnewer:concat:css
と、ファイルが に連結されることはありませんfrontend.css
。
どんな助けでも大歓迎です!
gruntjs - Grunt テンプレートの補間配列は文字列として解釈されます
前のタイトル: 「Grunt の concat タスクが動的構成値を使用しないのはなぜですか?」
Grunt によって連結されたファイルを動的に構成しようとしていますが、その際にgrunt-contrib-concat
プラグインが動的に設定された値を取得していないように見えるこの問題に遭遇しました。最初は何か間違ったことをしていると思いましたが、独自のタスクを作成し、同じ動的値を使用した後、すべてが意図したとおりになりました. それでは、grunt concat タスクが同じ値を取得して使用しないのはなぜでしょうか?
動作を再現する gruntfile を以下に示します (要旨: fatso83/73875acd1fa3662ef360)。
編集: 新しいリード:文字通り何時間もどこにも行かなかった後、Grunt のホームページで次の 文に出くわしました:
nonull trueに設定すると、操作に一致しないパターンが含まれます。このオプションを grunt の --verbose フラグと組み合わせると、ファイル パスの問題のデバッグに役立ちます。
それを構成に追加します(これを反映するために上で編集しました)、少なくとも何かが動的な値で何かをしていることを示す次のエラーメッセージが表示されました:
他のタスクでさらにデバッグを行った後、タスクにmyTask
送信されたデータがthis.data
配列ではなく文字列値であることがわかりました。文字列補間を行っていることを考えると、これはおそらくそれほど驚くべきことではありませんが、これは他の補間機能と一致しません。たとえば<%= otherTask.fooTarget.src %>
、他のタスクのsrc
プロパティを配列値として取得します。
問題は、補間された値を文字列ではなく配列として concat タスクに渡すことをどのように回避できるかということです。
javascript - Grunt を使用した Dryer ファイル パス
プロジェクトに grunt を追加し、CONCAT タスクを使用して複数の JS ファイルを作成していますが、static/js/... を繰り返すのではなく、ファイル パスを削除したいと考えています。
gruntjs - Grunt uglify が端末に出力ファイル レポートを表示しない
実行するgrunt
と、端末にこの出力が表示されます。
uglify と autoprefixer は出力を表示しません
しかし、私が実行するとgrunt -v
:
uglify は動作し、ファイル出力を書き込み、ファイル レポートを表示します。
-v がないと機能しないのはなぜですか? 以前はターミナルに表示されていたのを覚えています。
ここに私のGruntfile.jsがあります
ruby-on-rails - Rails Asset Pipeline から Grunt ベースのアプローチへ
私はGruntを試してみたいので、プロジェクトを複製したタスクのために、デフォルトのアセットパイプラインを使用してGruntとそのタスクを介してすべて動作するように変換したいと考えています。
その後、両方のアプローチを評価し、最良と思われる方法を選択します。
application.rb
ファイルでパイプラインを無効にしました。私は自分を設定しましたが、Gruntfile.js
まず最初にそれを取得して、javascript ファイルを連結したいと考えています。私はgrunt-contrib-concat
タスクを使用していますが、処理されたファイルを配置するように grunt に指示するのに最適な場所がわかりませんか?
でしょう/public
か?これらのファイルがどこから提供されるのか混乱していますか? ビューで Rails アセット ヘルパーを使用できず、自分で参照する必要があることはわかっていますが、どこから?
お役に立てれば幸いです。